[PYTHON] 10 Open Source Web Crawler für 2020

Was ist Web Crawler? Eine Datenbank, die automatisch Informationen wie im Internet veröffentlichte Texte, Bilder und Videos sammelt. Es ist ein Programm, in dem gespeichert werden soll. Verschiedene Webcrawler spielen eine Schlüsselrolle im Big-Data-Boom und erleichtern es den Menschen, Daten zu kratzen.

Unter den verschiedenen Webcrawlern gibt es viele Open-Source-Webcrawler-Frameworks. Mit dem Open Source-Webcrawler können Benutzer basierend auf Quellcode oder Frameworks programmieren, Ressourcen für die Unterstützung beim Scraping bereitstellen und die Datenextraktion vereinfachen. In diesem Artikel werden 10 empfohlene Open Source-Webcrawler vorgestellt.

  1. Scrapy

** Sprache: Python **

Scrapy ist Pythons beliebtestes Open-Source-Webcrawler-Framework. Sie können damit Daten effizient von Ihrer Website extrahieren, nach Bedarf verarbeiten und in Ihrem bevorzugten Format (JSON, XML, CSV) speichern. Es basiert auf einem verdrehten asynchronen Netzwerkframework und kann Anforderungen annehmen und schneller verarbeiten. Sie können Scrapy-Projekte erstellen, um effizientes und flexibles Crawlen in großem Maßstab zu erstellen.

Charakteristisch:

  1. Heritrix

** Sprache: JAVA **

Heritrix ist ein hoch erweiterbarer, Java-basierter Open Source-Webcrawler für Webarchive. Wir respektieren die Ausschlussanweisungen und Metarobot-Tags von robot.txt sehr und sammeln Daten in einem gemessenen adaptiven Tempo, das die normale Website-Aktivität nicht stört. Es bietet eine webbasierte Benutzeroberfläche, auf die mit einem Webbrowser zugegriffen werden kann, um den Crawler zu steuern und zu überwachen.

Charakteristisch:

  1. Web-Harvest

** Sprache: JAVA **

Web-Harvest ist ein in Java geschriebener Open Source-Webcrawler. Sie können Daten von der angegebenen Seite sammeln. Zu diesem Zweck nutzen wir hauptsächlich Technologien und Techniken wie XSLT, XQuery und kanonische Ausdrücke, um den Inhalt von HTML / XML-basierten Websites zu bearbeiten oder zu filtern. Es kann leicht ergänzt werden, indem die Java-Bibliothek angepasst wird, um die Extraktionsfunktionen zu verbessern.

Charakteristisch:

  1. MechanicalSoup

** Sprache: Python **

MechanicalSoup ist eine Python-Bibliothek zur Automatisierung der Interaktion mit Websites. Mechanical Soup ist ein Python-Riese Requests (für HTTP-Sitzungen) und BeautifulSoup. ) (Für die Dokumentennavigation) bietet eine ähnliche API mit. Sie können ein Cookie automatisch speichern und senden, der Weiterleitung folgen, dem Link folgen und das Formular senden. Mechanische Suppe ist sehr nützlich, wenn Sie menschliches Verhalten simulieren möchten, anstatt nur Daten zu kratzen.

Charakteristisch:

  1. Apify SDK

** Sprache: JavaScript **

Das Apify SDK (https://sdk.apify.com/) ist einer der besten Webcrawler, die mit JavaScript erstellt wurden. Eine skalierbare Scraping-Bibliothek ermöglicht die Entwicklung von Datenextraktions- und Webautomatisierungsjobs in kopflosem Chrome und Puppeteer. Mit einzigartigen und leistungsstarken Tools wie RequestQueue und AutoscaledPool können Sie mit mehreren URLs beginnen und rekursiv Links zu anderen Seiten folgen, die jeweils eine Scraping-Aufgabe mit maximaler Kapazität auf Ihrem System ausführen.

Charakteristisch:

  1. Apache Nutch

** Sprache: JAVA **

Apache Nutch ist ein in Java geschriebenes Open Source-Webcrawler-Framework. Mit einer fortschrittlichen modularen Architektur können Entwickler Plugins für Medientypanalyse, Datenabruf, Abfragen und Clustering erstellen. Als steckbares Modul bietet Nutch auch eine erweiterbare Schnittstelle für benutzerdefinierte Implementierungen.

Charakteristisch:

  1. Jaunt

** Sprache: JAVA **

Jaunt basiert auf JAVA und wurde für Web-Scraping, Web-Automatisierung und JSON-Abfragen entwickelt. Es bietet einen schnellen, ultraleichten Browser ohne Kopf, der Web-Scraping-Funktionen, Zugriff auf das DOM und die Steuerung jeder HTTP-Anforderung / Antwort bietet, jedoch kein JavaScript unterstützt.

Charakteristisch:

  1. Node-crawler

** Sprache: JavaScript **

Node-Crawler ist ein leistungsstarker und beliebter Web-Crawler für die Produktion, der auf Node.js basiert. Es ist vollständig in Node.js geschrieben und unterstützt nicht blockierende E / A. Es ist sehr nützlich für den Pipeline-Manipulationsmechanismus des Crawlers. Gleichzeitig unterstützt es die schnelle Auswahl von DOM (es müssen keine regulären Ausdrücke geschrieben werden) und verbessert die Effizienz der Crawlerentwicklung.

Charakteristisch:

  1. PySpider

** Sprache: Python **

PySpider ist ein leistungsstarkes Webcrawler-Framework, das in Python geschrieben wurde. Mit einer benutzerfreundlichen Web-Benutzeroberfläche und einer verteilten Architektur mit Komponenten wie Scheduler, Fetcher und Prozessor können Sie jetzt problemlos mehrere Crawls verfolgen. Unterstützt verschiedene Datenbanken zur Datenspeicherung, z. B. MongoDB und MySQL.

Charakteristisch: --Benutzerfreundliches Bedienfeld

  1. StormCrawler

** Sprache: JAVA **

StormCrawler ist ein Open Source SDK zum Erstellen eines verteilten Webcrawlers mit Apache Storm. Dieses Projekt steht unter Apache License v2 und besteht hauptsächlich aus einer Sammlung wiederverwendbarer Ressourcen und Komponenten, die in Java geschrieben wurden. Es ist ideal für die Verwendung, wenn die abzurufende und zu analysierende URL als Stream bereitgestellt wird, aber es ist auch eine gute Lösung für große rekursive Crawls, insbesondere wenn eine geringe Latenz erforderlich ist. ..

Charakteristisch:

Zusammenfassung

Open Source Web Crawler ist sehr leistungsfähig und erweiterbar, aber auf Entwickler beschränkt. Viele Scraping-Tools wie Octoparse Ja, Sie können die Daten einfach extrahieren, ohne Code zu schreiben. Wenn Sie mit der Programmierung nicht vertraut sind, sind diese Tools besser geeignet und leichter zu kratzen.

Originalartikel: https://www.octoparse.jp/blog/10-best-open-source-web-crawler

Recommended Posts

10 Open Source Web Crawler für 2020
10 Open Source Web Crawler für 2020
(Für mich) Flask_7 (Datenbank von Flask öffnen)
Quellenanalyse für Django - INSTALLED_APPS
Web-Lehrmaterialien zum Erlernen von Python
(Für mich) Flask_7 (Datenbank von Flask öffnen)
Web Scraping für Anfänger in Python (1)
Web Scraping für Wetterwarnbenachrichtigungen.
Web Scraping für Anfänger in Python (4) -1