Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Informatique - Programmation

Web Crawler Methodik. Breitensuche in Python mit Scrapy Framework

Titre: Web Crawler Methodik. Breitensuche in Python mit Scrapy Framework

Travail de Projet (scientifique-pratique) , 2016 , 31 Pages , Note: 1

Autor:in: Torun Ünver (Auteur)

Informatique - Programmation
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

Python ist eine sehr effiziente und einflussreiche Programmiersprache. In diesem Buch geht es um die Durchsuchung des World Wide Web. Kann man mit der Programmiersprache Python Linkquellen aus unterschiedlichen Webseiten analysieren? Mithilfe von Python, einem Python-Framework namens Scrapy und einer Datenbank namens MongoDB wird in diesem Buch der Versuch gestartet, Linkquellen zu untersuchen. Untersuchte Linkquellen sollen zunächst in einer Datenbank abgelegt werden und sobald der erste Durchlauf vollendet ist, soll der Crawler die nächste gespeicherte Linkquelle aus der Datenbank entnehmen und diese Linkquelle nach weiteren Linkquellen untersuchen.

Dabei ist es wichtig, dass bei den gespeicherten Linkquellen keine Duplikate enthalten sind und die bereits untersuchten Webseiten nicht erneut untersucht werden. Kann man mit Python als Programmiersprache einfach und schnell eine hohe Anzahl an Linkquellen unterschiedlicher Webseiten aufspüren?

Zuerst tauchen wir gemeinsam in die Theorie der beiden Suchalgorithmen: Breiten- und Tiefensuche. Im Anschluss wird auf Konzeption, Voraussetzungen und Installation eingegangen, die man für einen solchen Versuch braucht.

Extrait


Inhaltsverzeichnis

1 Einleitung

2 Konzeption

3 Breitensuche

4 Tiefensuche

5 Voraussetzungen

5.1 Installation

6 Praktische Untersuchung

6.1 Erstellung eines Scrapy Projekts

6.2 Items.py

6.3 Pipelines.py

6.4 Settings.py

6.5 Middlewares.py

6.6 Spiders

6.7 Konfiguration in RoboMongo

7 Python & Data Mining

7.1 Bekannte Python Bibliotheken

8 Fazit

Zielsetzung & Themen

Die Arbeit untersucht die Effizienz der Programmiersprache Python bei der automatisierten Durchsuchung des World Wide Web mittels des Scrapy-Frameworks und einer MongoDB-Datenbank, mit dem Ziel, Linkquellen strukturiert und duplikatsfrei zu erfassen.

  • Grundlagen der Suchalgorithmen Breiten- und Tiefensuche
  • Konfiguration einer Web-Crawler-Umgebung mit Python und Scrapy
  • Integration einer MongoDB-Datenbank zur Speicherung der Daten
  • Praktische Implementierung von Data-Mining-Prozessen
  • Umgang mit Link-Duplikaten und Fehlerbehandlung während des Crawlings

Auszug aus dem Buch

3 Breitensuche

Die Breitensuche im englischen auch breadth first search genannt, ist ein informationstechnisches Verfahren. Bei der Breitensuche fängt die Expandierung von einem bestimmten Startknoten an und dehnt sich weiter aus. Es wird nach weiteren Knoten gesucht die mit dem Startknoten in direkter bzw. erster Ebene in Verbindung stehen, bevor die Expandierung weiter in die Tiefe geht. Sobald alle Knoten der ersten Ebene erreicht werden, kommen diese in eine Warteschlange.

Die Knoten werden nach und nach aus der Warteschlange entnommen und abgearbeitet bzw. nach weiteren Knoten in der nächsten tieferen Ebene durchsucht. Aber hierbei ist es wichtig zu wissen, dass man von einem Knoten aus nicht sofort in die Tiefe geht, sondern zunächst alle noch nicht erreichten Nachbarn des Knotens bearbeitet. Nachdem alle Knoten der ersten Ebene bearbeitet sind, wird die nächste tiefere Ebene nach Knoten untersucht und diese werden wie zuvor in die Warteschlange aufgenommen. Anschließend werden die Knoten einzeln aus der Warteschlange selektiert und bearbeitet.

In der unten zu sehenden Skizze 2 kann man beobachten wie die Suche vom Startknoten anfängt und in die erste Ebene expandiert. Anschließend expandiert die Suche weiter in die nächste tiefere Ebene. Der Suchvorgang ist nach alphabetischer Reihenfolge sortiert und dient zur Orientierung.

Zusammenfassung der Kapitel

1 Einleitung: Vorstellung der Motivation für das Thema und Definition der Zielsetzung, mittels Python und Scrapy Webseiten effizient zu crawlen.

2 Konzeption: Erläuterung des automatisierten Web-Crawler-Konzepts, bei dem gefundene Links in einer MongoDB-Datenbank gespeichert und systematisch weiterverarbeitet werden.

3 Breitensuche: Theoretische Beschreibung der Breitensuche als Suchverfahren, bei dem alle Knoten einer Ebene vollständig bearbeitet werden, bevor in die nächste Ebene expandiert wird.

4 Tiefensuche: Theoretische Abgrenzung der Tiefensuche, bei der die Suche entlang eines Pfades so tief wie möglich in das Netz vordringt, bevor ein Backtracking erfolgt.

5 Voraussetzungen: Zusammenstellung der benötigten technischen Umgebung, bestehend aus Ubuntu, Python, Scrapy, PyMongo und MongoDB.

5.1 Installation: Schritt-für-Schritt-Anleitung zur Installation des Scrapy-Frameworks und der notwendigen Python-Pakete via Terminal.

6 Praktische Untersuchung: Dokumentation des konkreten Versuchsaufbaus, einschließlich der Konfiguration des Projekts und der Funktionsweise der einzelnen Python-Skripte.

6.1 Erstellung eines Scrapy Projekts: Erläuterung der Grundstruktur eines Scrapy-Projekts und der Bedeutung der generierten Ordner und Dateien.

6.2 Items.py: Beschreibung der Definition von Daten-Containern zur strukturierten Ablage der gecrawlten Informationen.

6.3 Pipelines.py: Erklärung der Pipeline-Komponenten für die Datenverarbeitung, Validierung und Datenbankanbindung.

6.4 Settings.py: Detaillierte Betrachtung der Konfigurationsmöglichkeiten für das Crawler-Verhalten und die Datenbank-Parameter.

6.5 Middlewares.py: Analyse der Downloader- und Spider-Middlewares zur Steuerung der Anfragen und der Fehlerbehandlung.

6.6 Spiders: Beschreibung der Crawler-Logik in der Datei link_spider.py und der Steuerung des Suchvorgangs.

6.7 Konfiguration in RoboMongo: Anleitung zur visuellen Überprüfung der gespeicherten Daten mithilfe des Tools RoboMongo.

7 Python & Data Mining: Einordnung von Python als leistungsfähige Programmiersprache für komplexe Datenanalysen und Data-Mining-Aufgaben.

7.1 Bekannte Python Bibliotheken: Kurze Vorstellung zentraler Bibliotheken wie NumPy, SciPy, Scikit-learn, IPython und NetworkX.

8 Fazit: Zusammenfassende Bewertung der Effizienz des crawlers und Ausblick auf die Rolle von Python bei der Entwicklung zukünftiger Webapplikationen.

Schlüsselwörter

Web Crawler, Python, Scrapy, Breitensuche, Tiefensuche, MongoDB, Data Mining, Automatisierung, Linkquellen, Datenbank, Programmierung, Installation, Pipeline, Middleware, Webapplikation

Häufig gestellte Fragen

Worum geht es in dieser Arbeit?

Die Arbeit befasst sich mit der Entwicklung eines automatisierten Web Crawlers auf Basis von Python und dem Scrapy-Framework zur systematischen Erfassung von Linkquellen.

Was sind die zentralen Themenfelder?

Die zentralen Themen sind Suchalgorithmen, die Implementierung eines Web Crawlers, Datenbankanbindung mittels MongoDB und die Anwendung von Python im Bereich Data Mining.

Was ist das primäre Ziel der Untersuchung?

Das Ziel ist es, nachzuweisen, wie effizient und umfangreich Linkquellen mittels Python und Scrapy analysiert, strukturiert und in einer Datenbank gespeichert werden können.

Welche wissenschaftliche Methode wird verwendet?

Es wird eine praktische Untersuchung durchgeführt, bei der ein Crawler-Prototyp implementiert und dessen Funktionalität sowie die Suchalgorithmen (Breiten- und Tiefensuche) methodisch analysiert werden.

Was wird im Hauptteil behandelt?

Der Hauptteil umfasst die theoretischen Grundlagen der Suchverfahren, die technische Konfiguration der Arbeitsumgebung und die detaillierte Programmierung der einzelnen Komponenten eines Scrapy-Projekts.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit wird durch Begriffe wie Web Crawler, Python, Scrapy, Breitensuche, Datenbankanbindung und Data Mining charakterisiert.

Wie werden Duplikate bei der Suche verhindert?

Durch eine in der `pipelines.py` definierte Klasse (`DuplicatesPipeline`) werden bereits verarbeitete IDs erkannt und aussortiert.

Warum wird MongoDB für dieses Projekt eingesetzt?

MongoDB wird gewählt, weil es als frei verwendbares Datenbanktool besonders für hohe Datenmengen geeignet ist und eine flexible Speicherung der gecrawlten Strukturen ermöglicht.

Wie kann das Suchverhalten des Crawlers beeinflusst werden?

Das Suchverhalten kann über die `settings.py` (z. B. `DOWNLOAD_DELAY`) oder individuell programmierte Middlewares in der `middlewares.py` gesteuert werden.

Fin de l'extrait de 31 pages  - haut de page

Résumé des informations

Titre
Web Crawler Methodik. Breitensuche in Python mit Scrapy Framework
Université
University of Applied Sciences Darmstadt  (Fachbereich Media)
Cours
Informationswissenschaftliches Kolloquium
Note
1
Auteur
Torun Ünver (Auteur)
Année de publication
2016
Pages
31
N° de catalogue
V338113
ISBN (ebook)
9783668275294
ISBN (Livre)
9783668275300
Langue
allemand
mots-clé
Python Scrapy Python Framework Web Crawler Web Scraping Web Spider Searchengine Suchmaschine MongoDB
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Torun Ünver (Auteur), 2016, Web Crawler Methodik. Breitensuche in Python mit Scrapy Framework, Munich, GRIN Verlag, https://www.grin.com/document/338113
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  31  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint