Ich bin mit einem technischen Problem konfrontiert, ich habe mehrere Artikel durchsucht, um die Antwort zu finden, aber ich konnte keine richtige Antwort von jeder Website bekommen.Crawling Webpage Daten mit ScrapySharp
Ich verwende ScrapySharp für mein Projekt zum Crawlen von Webseiten-Daten. Dieses Problem trat auf, wenn ich versuche, Daten von der http://edition.cnn.com/POLITICS-Website zu crawlen.
Zuerst habe ich die Seite über IE geladen, und ich wählte Entwickler-Tools, um die Tags zu überprüfen. Nach dem ich den Tag ausgewählt, die ich für meinen Code benötigen „// div [@ class =‚cd__content‘]“, Außerdem, wenn ich die oben genannten Web-Seite durch ScrapySharp laden
ScrapingBrowser browser = new ScrapingBrowser();
WebPage rootPage = browser.NavigateToPageAsync(new Uri(url));
HtmlNodeCollection rootNodes = rootPage.Html.SelectNodes("//div[@class='cd__content']");
Das Ergebnis für rootNodes zeigt als null
Wenn ich tief untersuche, was ich gesehen habe, ist der oben erwähnte cd__content ist in der "SECTION" -Tag, wenn die Seite lädt die "SECTION" -Tag ist leer. Aber wenn ich über IE oder Chrome überprüfe, sind alle Tags mit Informationen gefüllt, deshalb könnte ich das Element auswählen, aber wenn ich die Seite programmatisch lade, wird es das nicht tun. Meine Frage ist, wie kann ich die Seite mit dem Ausfüllen aller Informationen mit ScrapySharp laden.
Experten, bitte helfen Sie dabei.
haben Sie check rootPage object, hast du dort tatsächlich HTML bekommen? Hat es alle HTML-Inhalte, die es haben soll? Wenn ja, könnte das Problem in Ihrem XPath sein. – Nick