oli83 Geschrieben 16. November 2004 Geschrieben 16. November 2004 Ist es möglich mit Hilfe von C++ auf den HTML-Code zuzugreifen, diesen nach bestimmten Kriterien zu durchsuchen und mit den gefunden Inhalten weiterzuarbeiten? Ich möchte ein Programm schreiben, das in der Lage ist von unterschiedlichen Seiten, die aber gleich aufgebaut sind, bestimmte Werte einzulesen und ins Programm zu übertragen (z.B. Aktienkurse o. ä.). Ich hoffe es kann mir jemand bei diesem Problem weiterhelfen.
TinTin Geschrieben 16. November 2004 Geschrieben 16. November 2004 hier gibts ein demoprojekt, damit kannst du beliebige html-seiten in string runterladen und dann entsprechend verarbeiten. the code project viel vergnügen ... Ciao TinTin
NNE Geschrieben 16. Dezember 2004 Geschrieben 16. Dezember 2004 Hallo, Diese Methode lädt die angegebene Seite (sUrl) und speichert den HTML-Text auf die Festplatte mit Namen "provider_page.txt" Nun kannst du die Datei ganz normal untersuchen mit den String-Funktionen wie GetLength() Find() Mid() etc.... Viel Spaß & Ciao! int CCallStockValue::ConnectAndReadPage(CString sUrl, CString &sPageText) { CInternetSession netSession; CString sMessage; CStdioFile* pFile; CFile OutFile; int iStatus = -1; int iBytes; // Count of readed bytes char sBuffer[1024]; // Buffer CCallStockValue c; // GetApplicationDir() // Open the html site if (sUrl == "") { sMessage = sMessage + "URL is missing! \n"; AfxMessageBox(sMessage, MB_ICONINFORMATION); } else { pFile = netSession.OpenURL(sUrl); if (pFile == NULL) { // Connection is incorrect sMessage = sMessage + "\nConnection the data-provider\n\n" + sUrl + "\n\n" + "was failed!\n\n"; AfxMessageBox(sMessage, MB_ICONSTOP); } else { // Open/create local file on hdd at application directory // to store page OutFile.Open(c.GetApplicationDir() + "provider_page.txt", CFile::modeCreate | CFile::modeWrite); // Connection is ok, then read html and write to hdd while ((iBytes = pFile->Read(sBuffer, sizeof(sBuffer))) > 0) { sPageText += sBuffer; OutFile.Write(sBuffer, iBytes); } // Close CStdioFile (pFile) delete pFile; // Close file (CFile) OutFile.Close(); // Close net session netSession.Close(); // Status is OK iStatus = 1; // } } return iStatus; }
nic_power Geschrieben 18. Dezember 2004 Geschrieben 18. Dezember 2004 Hallo, alternativ kannst Du auch libwww verwenden: http://www.w3.org/Library/ Nic
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden