2016-04-29 11 views
-1

Ich arbeite an der Erstellung von Web-Scraper mit HTML Agilität Pack und ich habe eine Frage bezüglich Seitenumbruch. Ich suchte im Internet nach etwas, um mir weiter zu helfen, aber ich bin nicht in der Nähe. Ich muss den Inhalt der gesamten Seiten paginieren. Gibt es einen Mechanismus, um dies mit Hilfe von htmlagility oder jede Hilfe zu tun, wird geschätzt. Ich habe auch andere Anwendungen wie Selen gefunden und untersucht. Gibt es eine Möglichkeit, Selen zusammen mit htmlagility zu verwenden, um auch zu kratzen? Jede Art von Hilfe würde sehr geschätzt werden. DankeWeb Scraping paginierte Seite mit HtmlAgilityPack

+0

Sie können sicherlich HtmlAgility Seite verwenden, um alle Links auf einer Seite einschließlich Seitenumbruch Links zu bekommen, aber Ihre Frage ist eher zu breit, um beantwortet zu werden. Was hast du probiert? Hier ist ein Beispiel mit HtmlAgility-Paket zum Crawlen von Websites: http://blog.abodit.com/2010/03/a-simple-web-crawler-in-c-using-htmlagilitypack/ –

+0

Vielen Dank Ian, ich habe HAP verwendet kratzen Website, aber ich realisierte das Zeug nicht mit Paginierung. Also wollte ich nur frische Ideen bekommen – shunilkarki

+0

Paginierung wird oft als nur ein paar Links (1 2 3 ... n) implementiert, die sich manchmal entwickeln, während du forschst (... 4 5 6 ...) oder meinst du etwas anderes ? –

Antwort

1

Sicher können Sie HAP neben Selenium verwenden. Grundsätzlich können Sie zu einer URL navigieren eines Selen-Treiber, und laden Sie dann den HTML-Code in HAP, so etwas wie die folgenden:

IWebDriver driver = new FirefoxDriver(); 
driver.Navigate().GoToUrl(url); 
HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml(driver.PageSource); 

sobald Sie das Parsen der aktuellen Seite getan, um den Fahrer zu der nächsten Seite navigieren (Suchen Sie den Link der nächsten Seite und führen Sie eine Klickaktion aus. Übergeben Sie den HTML-Code erneut an HAP. Wie auch immer, ich denke, dass die meisten HAP-Funktionalitäten durch Selenium ersetzt werden können, also sollten Sie nur Selenium in Betracht ziehen.