Scraping von Daten, die dynamisch mit JavaScript im HTML-Dokument generiert wurden, mit C #

8

Wie kann ich Daten, die dynamisch mit JavaScript im HTML-Dokument generiert werden, mit C # auskratzen?

Mit WebRequest und HttpWebResponse in der C # -Bibliothek kann ich den gesamten HTML-Quellcode als String erhalten, aber die Schwierigkeit besteht darin, dass die gewünschten Daten nicht im Quellcode enthalten sind. Die Daten werden dynamisch von JavaScript generiert.

Wenn andererseits die Daten, die ich haben möchte, bereits im Quellcode sind, dann kann ich sie leicht mit regulären Ausdrücken erhalten.

Ich habe HtmlAgilityPack heruntergeladen, aber ich weiß nicht, ob es sich um den Fall kümmern würde, in dem Elemente dynamisch von JavaScript generiert werden ...

Vielen Dank!

    
user3213711 09.06.2014, 23:31
quelle

2 Antworten

10

Wenn Sie die WebRequest stellen, bitten Sie den Server, Ihnen die Auslagerungsdatei zu geben, der Inhalt dieser Datei wurde noch nicht von einem Webbrowser geparst / ausgeführt und daher hat das Javascript noch nichts getan.

Sie müssen ein Tool verwenden, um das JavaScript auf der Seite auszuführen, wenn Sie sehen möchten, wie die Seite nach der Analyse durch einen Browser aussieht. Eine Option, die Sie verwenden, ist die Verwendung des integrierten .net-Webbrowser-Steuerelements: Ссылка

Das Webbrowser-Steuerelement kann zu der Seite navigieren und sie laden. Anschließend können Sie ihr DOM abfragen, das durch das JavaScript auf der Seite geändert wurde.

EDIT (Beispiel):

%Vor% %Vor%     
Pandepic 10.06.2014, 04:26
quelle
4

Sie können sich ein Tool wie Selenium zum Scraping von Seiten mit Javascript anschauen.

Ссылка

    
vikramsk 10.06.2014 04:48
quelle

Tags und Links