Ein einfaches Screen-Scraping-Tool mit C# erstellen (Tutorial Teil 2)

Nach dem ersten Teil folgt heute nun der zweite Teil des kleinen Tutorials, in dem erklärt wird, wie man das einfache in C# erstellte Screen-Scraping Tool noch ein wenig optimiert:

7. Wenn der HTML-Quelltext nicht mit IDs ausgezeichnet ist kann man über andere Wege auf das entsprechende Element zugreifen. Eine praktische Möglichkeit ist es, über den Tag-Namen das Element zu finden. Werfen Sie einen Blick auf den Quelltext, wie der Zähler ausgezeichnet ist:

irgendein Zähler <span>0</span> der zählt

Da der Tag <span> nur ein einziges Mal auf der Website verwendet wird ist es einfach. Über den Index [0] kann man auf das erste <span>-Element zugreifen:

HtmlElementCollection elemente = webMeinBrowser.Document.GetElementsByTagName(„span“);
//foreach (HtmlElement elem in elemente) …
MessageBox.Show(elemente[0].InnerHtml.ToString());

Wären es mehrere kann man die entsprechenden Elemente dann mit einem foreach durchlaufen und z. B. über elemente[i].GetAttribute oder . InnerHtml identifizieren.

8. Ein Klick auf die Zahl bzw. den mit <span> ausgezeichnete Bereich erhöht den Zähler. Auch dies können Sie automatisieren – dafür ist RaiseEvent hilfreich (natürlich auch mit allen anderen aus JavaScript bekannten Events möglich). Probieren Sie folgendes aus:

MessageBox.Show(elemente[0].InnerHtml.ToString());
elemente[0].RaiseEvent(„onclick“);
MessageBox.Show(elemente[0].InnerHtml.ToString());

9. Auch das Eingabefeld (id=“eingabe“) lässt sich automatisch ausfüllen, am unkompliziertesten geht das mit SetAttribute:

webMeinBrowser.Document.GetElementById(„eingabe“).SetAttribute(„value“, „Hallo!“);

Das war die kleine Einführung ins Screen-Scraping mit C# – natürlich wird es bei größeren Projekten etwas komplizierter, aber für den ersten Einstieg müssten diese Tutorial eigentlich hilfreich sein.

P.S.

Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne  – einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstmöglich. Unternehmen, die Unterstützung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management benötigen finden zudem entsprechende Angebote meiner Firma auf der Website www.Frank-IT-Beratung.de

Dieser Beitrag wurde unter C#, Programmierung abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen