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-Tutorial4) Wang Hais LaborDies 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 Labor2. Verwendung der Python-Bibliotheken urllib und urllib2Die 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 ScrapyWenn 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-QuelldatenBietet 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-ExportBietet 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 SitzungsverarbeitungHTTP-Komprimierung
HTTP-AuthentifizierungHTTP-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!