Heim >Backend-Entwicklung >Python-Tutorial >Erstellen eines Webcrawlers mit Python: Extrahieren von Daten aus Webseiten

Erstellen eines Webcrawlers mit Python: Extrahieren von Daten aus Webseiten

Patricia Arquette
Patricia ArquetteOriginal
2025-01-21 10:10:09617Durchsuche

Building a Web Crawler with Python: Extracting Data from Web Pages

Ein Webspider oder Webcrawler ist ein automatisiertes Programm zum Navigieren im Internet sowie zum Sammeln und Extrahieren bestimmter Daten von Webseiten. Python, bekannt für seine klare Syntax, seine umfangreichen Bibliotheken und seine aktive Community, hat sich zur bevorzugten Sprache für die Erstellung dieser Crawler entwickelt. Dieses Tutorial bietet eine Schritt-für-Schritt-Anleitung zum Erstellen eines einfachen Python-Webcrawlers für die Datenextraktion, einschließlich Strategien zur Überwindung von Anti-Crawler-Maßnahmen, mit 98IP-Proxy als möglicher Lösung.

Ich. Einrichten Ihrer Umgebung

1.1 Python installieren

Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Python 3 wird aufgrund seiner überlegenen Leistung und breiteren Bibliotheksunterstützung empfohlen. Laden Sie die entsprechende Version von der offiziellen Python-Website herunter.

1.2 Wichtige Bibliotheken installieren

Für die Erstellung eines Webcrawlers sind normalerweise die folgenden Python-Bibliotheken erforderlich:

  • requests: Zum Senden von HTTP-Anfragen.
  • BeautifulSoup: Zum Parsen von HTML und Extrahieren von Daten.
  • pandas: Zur Datenbearbeitung und -speicherung (optional).
  • Standardbibliotheken wie time und random: Zum Verwalten von Verzögerungen und zum Randomisieren von Anfragen, um eine Erkennung durch Anti-Crawler-Mechanismen zu vermeiden.

Installieren Sie diese mit pip:

<code class="language-bash">pip install requests beautifulsoup4 pandas</code>

II. Basteln Sie Ihren Crawler

2.1 Senden von HTTP-Anfragen

Verwenden Sie die requests-Bibliothek, um Webseiteninhalte abzurufen:

<code class="language-python">import requests

url = 'http://example.com'  # Replace with your target URL
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}  # Mimics a browser
response = requests.get(url, headers=headers)

if response.status_code == 200:
    page_content = response.text
else:
    print(f'Request failed: {response.status_code}')</code>

2.2 HTML analysieren

Verwenden Sie BeautifulSoup, um den HTML-Code zu analysieren und Daten zu extrahieren:

<code class="language-python">from bs4 import BeautifulSoup

soup = BeautifulSoup(page_content, 'html.parser')

# Example: Extract text from all <h1> tags.
titles = soup.find_all('h1')
for title in titles:
    print(title.get_text())</code>

2.3 Umgehen von Anti-Crawler-Maßnahmen

Websites nutzen Anti-Crawler-Techniken wie IP-Blockierung und CAPTCHAs. Um diese zu umgehen:

  • Anforderungsheader festlegen: Imitieren Sie das Browserverhalten, indem Sie Header wie User-Agent und Accept festlegen, wie oben gezeigt.
  • Proxy-IPs verwenden: Maskieren Sie Ihre IP-Adresse mithilfe eines Proxyservers. Dienste wie 98IP Proxy bieten zahlreiche Proxy-IPs, um IP-Verbote zu vermeiden.

Verwendung von 98IP-Proxy (Beispiel):

Besorgen Sie sich eine Proxy-IP und einen Proxy-Port von 98IP Proxy. Integrieren Sie diese Informationen dann in Ihren requestsAnruf:

<code class="language-python">proxies = {
    'http': f'http://{proxy_ip}:{proxy_port}',  # Replace with your 98IP proxy details
    'https': f'https://{proxy_ip}:{proxy_port}',  # If HTTPS is supported
}

response = requests.get(url, headers=headers, proxies=proxies)</code>

Hinweis: Für ein robustes Crawling rufen Sie mehrere Proxy-IPs von 98IP ab und rotieren Sie sie, um Einzel-IP-Blockaden zu verhindern. Implementieren Sie eine Fehlerbehandlung, um Proxy-Fehler zu verwalten.

  • Verzögerungen einführen: Fügen Sie zufällige Verzögerungen zwischen Anfragen hinzu, um menschliches Surfen zu simulieren.
  • CAPTCHA-Verarbeitung: Für CAPTCHAs erkunden Sie OCR (Optical Character Recognition) oder CAPTCHA-Lösungsdienste von Drittanbietern. Beachten Sie die Nutzungsbedingungen der Website.

III. Datenspeicherung und -verarbeitung

3.1 Datenpersistenz

Speichern Sie extrahierte Daten in Dateien, Datenbanken oder Cloud-Speicher. So speichern Sie es in einer CSV-Datei:

<code class="language-bash">pip install requests beautifulsoup4 pandas</code>

Das obige ist der detaillierte Inhalt vonErstellen eines Webcrawlers mit Python: Extrahieren von Daten aus Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:DekorateureNächster Artikel:Dekorateure