Veröffentlicht 16. November 200420 j 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.
16. November 200420 j 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
16. Dezember 200420 j 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; }
18. Dezember 200420 j Hallo, alternativ kannst Du auch libwww verwenden: http://www.w3.org/Library/ Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.