Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

  • 5 Wochen später...
Geschrieben

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;

}

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...