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. Zitieren
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 Zitieren
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; } Zitieren
nic_power Geschrieben 18. Dezember 2004 Geschrieben 18. Dezember 2004 Hallo, alternativ kannst Du auch libwww verwenden: http://www.w3.org/Library/ Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.