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?

5voto

Louis-wht Punkte 515

Sie könnten sich informieren über jwht-scraper !

Dies ist eine vollständige Schaben Framework, das über alle Funktionen verfügt, die ein Entwickler von einem Webtool erwarten kann. Abstreifer :

Es funktioniert mit (jwht-htmltopojo)[https://github.com/whimtrip/jwht-htmltopojo) lib, die itsef Jsoup verwendet, das von mehreren anderen Leuten hier erwähnt wurde.

Zusammen werden sie Ihnen helfen, fantastische Scraper zu bauen, die HTML direkt auf POJOs abbilden und alle klassischen Scraping-Probleme in nur wenigen Minuten umgehen!

Ich hoffe, dass dies einigen Leuten hier helfen kann!

Disclaimer, ich bin derjenige, der es entwickelt hat, fühlen Sie sich frei, mir Ihre Bemerkungen mitzuteilen!

4voto

Mikos Punkte 8351

Sehen Sie sich einen HTML-Parser wie TagSoup, HTMLCleaner oder NekoHTML an.

4voto

Maithilish Punkte 905

Wenn Sie das Scraping großer Seiten- oder Datenmengen automatisieren möchten, können Sie Folgendes versuchen Gotz ETL .

Es ist vollständig modellgesteuert wie ein echtes ETL-Tool. Die Datenstruktur, der Aufgaben-Workflow und die zu scrappenden Seiten werden mit einer Reihe von XML-Definitionsdateien definiert, so dass keine Programmierung erforderlich ist. Abfragen können entweder mit Selektoren mit JSoup oder XPath mit HtmlUnit geschrieben werden.

4voto

AleXxSnJR Punkte 119

Für Aufgaben dieser Art verwende ich normalerweise Crawller4j + Jsoup.

Mit crawler4j lade ich die Seiten aus einer Domain herunter, die ULR können Sie mit einem regulären Ausdruck angeben.

Mit jsoup habe ich die von Ihnen gesuchten und mit crawler4j heruntergeladenen html-Daten "geparst".

Normalerweise kann man Daten auch mit jsoup herunterladen, aber Crawler4J macht es einfacher, Links zu finden. Ein weiterer Vorteil von crawler4j ist, dass es multithreaded ist und Sie die Anzahl der gleichzeitigen Threads konfigurieren können

https://github.com/yasserg/crawler4j/wiki

1voto

incont67 Punkte 21

Normalerweise verwende ich Selenium, eine Software zur Testautomatisierung. Sie können einen Browser über einen Webdriver steuern, so dass Sie keine Probleme mit Javascripts haben und es wird in der Regel nicht sehr erkannt, wenn Sie die Vollversion verwenden. Headless-Browser können besser erkannt werden.

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