2010-11-02 22 views
6

Ich arbeite an einem Projekt und ich muss eine Menge screen scraping machen, um so viele Daten wie möglich zu bekommen. Ich frage mich, ob jemand gute APIs oder Ressourcen kennt, um mir zu helfen.Web Scraping, Screen Scraping, Data Mining Tipps?

Ich benutze übrigens Java.

Hier ist, was mein Workflow bisher der Fall ist:

  1. Connect auf eine Website (mit Httpcomponents von Apache)
  2. Webseite einen Abschnitt mit einem Bündel von Links enthält, die ich besuchen müssen (unter Verwendung eingebaut Java HTML-Parser, um herauszufinden, was alle Links, die ich besuchen muss, sind, das ist lästig und chaotisch Code)
  3. Besuchen Sie alle Links, die ich gefunden
  4. Für jeden Link, den ich besuche, gibt es mehr Daten, die ich brauche extrahieren, verteilt auf mehreren Seiten, so muss ich vielleicht visi t mehr Links

Gedanken:

  • Kennt jemand eine höhere Ebene/intelligentere html-Parser als die in Java eine gebaut?
  • Grundsätzlich ist es eine Tiefensuche zuerst. Ich stelle mir vor, dass ich diese Multithread irgendwann machen möchte, damit ich einige dieser Links parallel besuchen kann.
  • Vielleicht eine Bibliothek Crawling ist, was ich suche wirklich für multithreaded Web

Wenn Sie nicht herausgefunden haben, ist dies mein erstes Mal mit diesem Herumspielen so eine schwierige Zeit, ich habe versucht, artikulieren genau, was meine Bedürfnisse sind. Ich würde jeden Beitrag sehr schätzen, den jemand von euch, der das schon einmal gemacht hat, haben könnte.

+0

Genau was Java-Parser verwenden Sie gerade? (Unrelated - das Java Executor Framework ist ideal für kontrollierte Parallelität) – user486972

+0

http://stackoverflow.com/questions/7138296/how-do-i-get-the-source-of-a-iven-url-froma- servlet/7138434 # 7138434 Ich habe das gefunden. Dachte du wärst interessiert. – Srinivas

+0

Werfen Sie einen Blick auf http://teusje.wordpress.com/tag/scrape/ es enthält Informationen darüber, wie Daten mit Powershell und Perl geschabt werden. – juFo

Antwort

9

Ich habe gefunden JSoup wirklich gut für HTML-Parsing.

Weitere Hinweise, Sie in diesem Artikel: How to write a multi-threaded webcrawler

+0

Ich bin gerade über den Link gestolpert. Ich frage mich, ob es gute Webcrawler + Parser Combos gibt. Obwohl ich sie vielleicht beide zusammen benutzen kann. – JPC

+0

Ich fand diesen Beitrag auf der Suche nach Java HTML Scraping Tools und JSoup ist wirklich gut. –

1

Versuchen Sie mit Web-Harvest Projekt.

+0

Ich werde das überprüfen, danke – JPC

0

Kasse JSR-237 für Work Management, das eine coole Idee ist, wenn multithreaded gehen.

Wie beim Schaben gibt es mehrere Alternativen. Wenn Benutzerfreundlichkeit am wichtigsten ist, rate ich Ihnen zu HTMLUnit. Darüber hinaus müssen Sie Ihre eigenen

2

Ich verwendete Bixo zum Extrahieren der Hyperlinks und Bilder Tiefensuche. Es hat über Hadoop und Kaskadierung gebaut, also gibt es eine Lernkurve, aber das mitgelieferte Beispiel ist gut genug, um die Änderungen zu konfigurieren ...