Was ist ein Crawler? Ausführliche Erklärung der Crawler

零下一度
Freigeben: 2017-07-03 09:46:53
Original
1998 Leute haben es durchsucht

Hallo allerseits, ich bin während des Studiums auch auf einige Probleme gestoßen und werde mein Lernen hier systematisch organisieren. Wenn Sie daran interessiert sind, Crawler zu lernen, können Sie diese Artikel lesen Jeder ist herzlich willkommen, seine Lernerfahrungen zu teilen.

Python-Version: 2.7, weitere Blog-Beiträge für Python 3 finden Sie hier.

Was ist ein Crawler?

Ein Webcrawler (in der FOAF-Community auch als Web-Spider, Web-Roboter und häufiger als Web-Chaser bekannt) ist ein Programm, das nach bestimmten Regeln oder Skripten automatisch Informationen im World Wide Web erfasst .

Nach meiner Erfahrung müssen wir zum Erlernen des Python-Crawlers die folgenden Punkte lernen:

Grundkenntnisse von Python

Verwendung der Bibliotheken urllib und urllib2 in Python

Regulärer Python-Ausdruck

Python-Crawler-Framework Scrapy

Erweiterte Funktionen des Python-Crawlers

1. Grundlegendes Erlernen von Python

Zuerst haben wir Wenn Sie Python zum Schreiben eines Crawlers verwenden möchten, müssen Sie die Grundlagen von Python verstehen. Wenn ein hohes Gebäude aus dem Boden ragt, dürfen Sie das Fundament nicht vergessen. Dann werde ich einige Python-Tutorials teilen, die ich gesehen habe Freunde können sie als Referenz verwenden.

1) MOOC-Python-Tutorial

Ich habe einige grundlegende Grammatikübungen auf MOOC gelesen. Nachdem ich es gelernt habe, kann ich es als Übung verwenden Der Effekt ist ziemlich gut. Nicht schlecht, aber ein wenig bedauerlich, dass der Inhalt im Grunde der einfachste ist. Wenn Sie anfangen möchten, ist dies die Lernwebsite: MOOC.com Python Tutorial >2) Liao Xuefeng Python-Tutorial

Später habe ich das Python-Tutorial von Lehrer Liao entdeckt. Es war sehr einfach zu verstehen und fühlte sich sehr gut an.

Lern-URL: Liao >

Lern-URL: Prägnantes Python-Tutorial

4) Wang Hais Labor

Dies ist mein Labor-Absolvent im Grundstudium. Ich habe zu Beginn auf seinen Artikel verwiesen und ihn selbst noch einmal zusammengefasst , und später fügte diese Artikelserie einige Inhalte hinzu, die auf seiner Arbeit basierten.

Lernwebsite: Wang Hais Labor

2. Verwendung der Python-Bibliotheken urllib und urllib2

Die Bibliotheken urllib und urllib2 sind die grundlegendsten Bibliotheken zum Erlernen von Python-Crawlern Mit der Bibliothek können wir den Inhalt der Webseite abrufen und reguläre Ausdrücke verwenden, um den Inhalt zu extrahieren und zu analysieren, um die gewünschten Ergebnisse zu erzielen. Ich werde dies während des Lernprozesses mit Ihnen teilen.

3. Reguläre Python-Ausdrücke

Python-reguläre Ausdrücke sind eine leistungsstarke Waffe zum Abgleichen von Zeichenfolgen. Seine Entwurfsidee besteht darin, eine beschreibende Sprache zu verwenden, um eine Regel für eine Zeichenfolge zu definieren. Jede Zeichenfolge, die der Regel entspricht, gilt als „übereinstimmend“. Dies wird in einem späteren Blogbeitrag mitgeteilt.

4. Crawler-Framework Scrapy

Wenn Sie ein Python-Meister sind und grundlegende Crawler-Kenntnisse beherrschen, dann suchen Sie nach einem Python-Framework. Das Framework, das ich ausgewählt habe, ist das Scrapy-Framework. Welche leistungsstarken Funktionen hat dieses Framework? Das Folgende ist die offizielle Einführung:

Eingebaute Unterstützung für die Auswahl und Extraktion von HTML- und XML-Quelldaten

Bietet eine Reihe wiederverwendbarer Filter (d. h. Item Loader), die von Spidern gemeinsam genutzt werden. Es ist integriert Unterstützung für die intelligente Verarbeitung gecrawlter Daten.

Bietet integrierte Unterstützung für mehrere Formate (JSON, CSV, XML) und mehrere Speicher-Backends (FTP, S3, lokales Dateisystem) durch Feed-Export

Bietet eine Medienpipeline zum automatischen Herunterladen von gecrawlten Daten, Bildern (oder anderen). Ressourcen) in .

Hohe Skalierbarkeit. Sie können Ihre Funktionen anpassen und implementieren, indem Sie Signale und entworfene APIs (Middleware, Erweiterungen, Pipelines) verwenden.

Eingebaute Middleware und Erweiterungen bieten Unterstützung für die folgenden Funktionen:

Cookies und Sitzungsverarbeitung

HTTP-Komprimierung

HTTP-Authentifizierung

HTTP-Caching
Benutzeragentensimulation
Roboter. txt
Crawling-Tiefenbegrenzung
Bietet automatische Erkennung und robuste Codierungsunterstützung für nicht standardmäßige oder falsche Codierungsdeklarationen in nicht-englischen Sprachen.
Unterstützt die Erstellung von Crawlern basierend auf Vorlagen. Halten Sie den Code über große Projekte hinweg konsistenter und beschleunigen Sie gleichzeitig die Crawler-Erstellung. Weitere Informationen finden Sie im Befehl genspider.
Bietet skalierbare Tools zur Statuserfassung zur Leistungsbewertung und Fehlererkennung unter mehreren Crawlern.
Bietet ein interaktives Shell-Terminal, das Ihnen großen Komfort beim Testen von XPath-Ausdrücken sowie beim Schreiben und Debuggen von Crawlern bietet.
Bietet Systemdienste, die die Bereitstellung und den Betrieb in der Produktionsumgebung vereinfachen.
Eingebauter Webdienst, der es Ihnen ermöglicht Kann Ihre Maschine überwachen und steuern.
Integriertes Telnet-Terminal. Durch Einbinden in das Python-Terminal im Scrapy-Prozess können Sie den Crawler anzeigen und debuggen.
Die Protokollierung ermöglicht Ihnen die bequeme Erfassung von Fehlern während des Crawling-Prozesses.
Unterstützt das Crawlen von Sitemaps
Mit zwischengespeichertem DNS-Resolver



Das obige ist der detaillierte Inhalt vonWas ist ein Crawler? Ausführliche Erklärung der Crawler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage