Was sind die besten verfügbaren Optionen für das HTML-Scraping? [geschlossen]

Ich verwende derzeit PHP DOM mit CURL und Simple HTML DOM Parser für HTML Scraping. Ich muss große Mengen an Inhalten kratzen und sie müssen gespeichert werden. Ich verwende PHP als Hauptsprache und MySQL als Speicherdatenbank, bin jedoch an Optionen in jeder Sprache interessiert und kann sie in meinen Workflow integrieren.

Gibt es andere HTML-Scraping-Pakete, die ich mir ansehen sollte? Ich habe von Web-Scrapy-Bibliotheken namens „ Scrapy “ und „ Beautiful Soup “ gehört, die auf Python basieren.

Vorschläge werden sehr geschätzt.! :)

Abstimmen? Bitte erkläre. Diese Frage scheint perfekt zu dieser neuen StackExchange-Site zu passen.
@BasilBourque Ich habe nicht abgelehnt, aber wenn ich es tue, habe ich nicht immer das Bedürfnis, es zu erklären. Aber ich kann mir vorstellen, dass die Leute das ablehnen, weil es nicht leicht zu verstehen ist, was gefragt wird. Wie viel kostet ein großes Set? Terabyte? Hunderte, Millionen oder Milliarden Artikel? Ist es für PHP oder Python (anscheinend ist alles in Ordnung?). Welche Funktionen der HTML-Scraping-Bibliothek sind wichtig? Javascript-Unterstützung? Leistung?

Antworten (2)

jsoup – Java-Bibliothek zum Abrufen und Analysieren

Zum Abrufen und Analysieren von HTML verwende ich die Java-basierte Bibliothek jsoup . Es kommt erstaunlich gut mit verstümmeltem, fehlerhaft geformtem HTML-Code zurecht.

Verfügt über eine Vielzahl von Möglichkeiten zum Abfragen und Beantworten von Fragen wie "Geben Sie mir die dritte Tabelle im Dokument".

Von der Webseite der Bibliothek:

jsoup ist eine Java-Bibliothek für die Arbeit mit echtem HTML. Es bietet eine sehr praktische API zum Extrahieren und Bearbeiten von Daten unter Verwendung der besten DOM-, CSS- und jquery-ähnlichen Methoden.

Welche DB verwendest du?
@SurabhilSergy DB? Du meinst Datenbank? Datenbank spielt hier keine Rolle. Ihre Frage bezog sich auf Schabewerkzeuge. Meine Antwort war jsoupeine Java-Bibliothek, die (a) eine Webseite abruft, (b) den HTML-Code dieser Seite analysiert und (c) es Ihnen ermöglicht, Teile dieses HTML-Inhalts auf verschiedene Weise abzufragen. Lesen Sie Wikipedia für die Bedeutung von "Web Scraping" .
Danke die Antwort. Ich habe nur nach Datenbankempfehlungen gefragt, falls die große Menge an geschabten Daten gespeichert werden soll.
Eine Datenbankempfehlung ist eine separate Frage. Es ist eine würdige Frage, aber es ist nicht diese Frage. Sie sollten auf dieser Website eine neue Frage stellen, in der es um die Datenbank zum Speichern großer Datenmengen aus Web Scraping geht . Bei StackExchange geht es um konkrete Fragen mit konkreten Antworten, ohne langatmige Diskussionen oder Abschweifungen.

Java-Klasse: ScheduledExecutorService

Wenn Sie das Web-Scraping wiederholt und regelmäßig durchführen möchten und Java verwenden, sehen Sie sich die gebündelte Klasse an ScheduledExecutorService.

Ein ExecutorService, der Befehle so planen kann, dass sie nach einer bestimmten Verzögerung oder regelmäßig ausgeführt werden.

Diese Klasse ist neuer und hat Vorteile gegenüber der häufiger zitierten TimerKlasse. Durchsuchen Sie StackOverflow.com nach weiteren Informationen und Diskussionen.

Um einen ScheduledExecutorService zu verwenden, definieren Sie eine Klasse, die die Runnable- Schnittstelle implementiert. Diese Schnittstelle bedeutet einfach, dass Ihre Klasse eine Methode namens enthält run. Bei dieser Methode rufen Sie Ihre Webseite ab, analysieren sie und verarbeiten/speichern sie. Bei dieser Methode könnten Sie eine Bibliothek wie jsoup. Sie übergeben eine Instanz Ihrer Runnable-Klasse an den ScheduledExecutorService, damit sie jede Minute, Stunde und zu jeder von Ihnen festgelegten Zeit ausgeführt wird.