76 Stimmen

Web Scraping mit Java

Ich bin nicht in der Lage, eine gute Web Scraping Java-basierte API zu finden. Die Website, die ich scrapen muss, stellt auch keine API zur Verfügung; ich möchte alle Webseiten mithilfe einiger pageID und extrahieren die HTML-Titel/andere Dinge in ihren DOM-Bäumen.

Gibt es andere Möglichkeiten als Web Scraping?

102voto

Wajdy Essam Punkte 4150

Jsoup

Das Extrahieren des Titels ist nicht schwierig, und Sie haben viele Möglichkeiten, suchen Sie hier auf Stack Overflow nach " Java-HTML-Parser ". Einer von ihnen ist Jsoup .

Sie können die Seite mit Hilfe des DOM navigieren, wenn Sie die Struktur der Seite kennen, siehe http://jsoup.org/cookbook/extracting-data/dom-navigation

Es ist eine gute Bibliothek und ich habe sie in meinen letzten Projekten verwendet.

23voto

KJW Punkte 14616

Am besten verwenden Sie den Selenium Web Driver, da er

  1. Bietet visuelles Feedback für den Programmierer (sehen Sie Ihr Scraping in Aktion, sehen Sie, wo es aufhört)

  2. Präzise und konsistent, da sie den von Ihnen verwendeten Browser direkt kontrolliert.

  3. Langsam. Trifft keine Webseiten wie HtmlUnit, aber manchmal will man nicht zu schnell treffen.

    Htmlunit ist schnell, aber es ist schrecklich im Umgang mit Javascript und AJAX.

15voto

Beschi Punkte 175

HTMLEinheit kann zum Web-Scraping verwendet werden und unterstützt das Aufrufen von Seiten sowie das Ausfüllen und Übermitteln von Formularen. Ich habe dies in meinem Projekt verwendet. Es ist eine gute Java-Bibliothek für Web-Scraping. Lesen Sie hier für mehr

5voto

user1374041 Punkte 91

Mechanize für Java wäre dafür gut geeignet, und wie Wadjy Essam erwähnte, verwendet es JSoup für die HMLT. mechanize ist ein Stageful-HTTP/HTML-Client, der Navigation, Formulareingaben und Page Scraping unterstützt.

http://gistlabs.com/software/mechanize-for-java/ (und das GitHub hier https://github.com/GistLabs/mechanize )

5voto

Slavus Punkte 1039

Es gibt auch Jaunt Java Web Scraping & JSON Querying - http://jaunt-api.com

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X