Web Scraping mit ChatGPT

Leitfäden, How to's, Kratzen, 20. August 20245 Min. gelesen

Web Scraping ist ein leistungsfähiges Werkzeug für Entwickler, Datenwissenschaftler, digitale Vermarkter und viele andere Personen, die wertvolle Daten aus Websites extrahieren möchten. Wenn Sie Ihr Web-Scraping verbessern wollen, kann die Nutzung der Fähigkeiten von ChatGPT Ihnen sehr helfen. Dieser Blog wird Sie durch die Verwendung von ChatGPT führen, um robuste, effiziente und zuverlässige Web-Scraping-Skripte zu erstellen.

Einführung in ChatGPT

ChatGPT, powered by OpenAI, ist ein hochmodernes Sprachmodell, das entwickelt wurde, um menschenähnlichen Text zu verstehen und zu erzeugen. Es nutzt die Verarbeitung natürlicher Sprache (NLP), um bei einer Vielzahl von Aufgaben zu helfen, von der Erstellung von Inhalten bis hin zur Unterstützung bei der Codierung. Durch seine Fähigkeit, den Kontext zu verstehen und intelligente Vorschläge zu machen, ist ChatGPT zu einem wertvollen Hilfsmittel für Entwickler und Datenwissenschaftler geworden.

Was ist ChatGpt?

ChatGPT steht für "Chat Generative Pre-trained Transformer". Es handelt sich dabei um eine Art künstliche Intelligenz, die auf der Grundlage der empfangenen Eingaben Text generieren kann. Sie ist zwar für ihre Konversationsfähigkeiten bekannt, aber ihre Anwendungen gehen weit über einfache Dialoge hinaus.

Verwendungen von ChatGpt beim Web Scraping

  • Code-Unterstützung: Hilfe beim Schreiben und Debuggen von Web-Scraping-Skripten.
  • Empfehlungen für die Bibliothek: Empfehlen Sie Tools wie Beautiful Soup, Scrapy, Selenium...
  • Bewährte Praktiken: Leitfaden für ethische und effiziente Scraping-Techniken.

Einschränkungen von ChatGPT beim Web Scraping

  • Umgehung von Sicherheitsmaßnahmen: ChatGPT kann nicht helfen, Sicherheitsmaßnahmen wie IP-Blockierung oder andere Anti-Scraping-Technologien über ethische Grenzen hinaus zu umgehen.
  • Datenerfassung in Echtzeit: ChatGPT kann nicht in Echtzeit mit Websites interagieren, um Daten zu sammeln.
  • Entwicklung kundenspezifischer Tools: ChatGPT kann keine benutzerdefinierten Software-Tools oder Frameworks für Web Scraping entwickeln.

Beispiel für die Verwendung von ChatGpt für Web Scraping

Der Chat kann zwar nicht direkt eine Website scrapen, aber er kann uns auf jeden Fall mit Ideen inspirieren, wie wir den Web-Scraping-Prozess angehen können. Außerdem kann er Skripte bereitstellen, die wir in unseren Web-Scraping-Projekten verwenden können.

Schauen wir uns ein einfaches Beispiel an. Stellen Sie sich vor, Sie möchten eine Blogpost-Website scrapen und jeden Blogpost extrahieren und in einer csv-Datei speichern. Die Informationen, die wir speichern möchten, sind der Blog-Titel, die Beschreibung und die Blog-URL.

Schritt 1 - ChatGpt Prompt verfassen:

Zunächst müssen wir eine Eingabeaufforderung für ChatGPT erstellen, die klar angibt, was wir brauchen. In diesem Beispiel werden wir die Website (https://www.scrapethissite.com/pages) verwenden, um den Titel, die Beschreibung und die URL jedes Blogs zu extrahieren Um ChatGpt korrekt anzuweisen, müssen wir die Selektoren des ersten Blogs angeben. Klicken Sie dazu mit der rechten Maustaste auf das Element und dann auf inspect

Danach wollen wir den Xpath-Selektor greifen, indem wir wieder mit der rechten Maustaste auf das Element klicken und dann Kopieren und dann XPath kopieren

Das Gleiche sollten Sie auch für die Beschreibung und die URL des Blogs tun.

Nachstehend finden Sie die endgültige Fassung der Aufforderung:

Entwickeln Sie ein Python-Skript mit 'Requests' und der  Bibliothek'BeautifulSoup', dasBlogbeiträge von dieser Website ausliest : "https://www.scrapethissite.com/pages/"
Die Informationen, dieextrahiert  werden  müssen, sind: 
- Blog Titel - XPath: "//*[@id="Seiten"]/section/div/div/div/div[1]/h3/a" 
- Blog Beschreibung - XPath: "//*[@id="Seiten"]/section/div/div/div/div[1]/p"- Blog Url 
- XPath: "//*[@id="pages"]/section/div/div/div/div[1]/h3/a"

Am Endesollte das Skript  die Ergebnisse ausdrucken und in einer csv-Datei speichern.

Schritt 2 - Python-Skript einrichten:

Hier ist das Skript, das ChatGpt ausgegeben hat:

import requests
from bs4 import BeautifulSoup
import csv
# URL of the website to scrape
url = 'https://www.scrapethissite.com/pages/'
# Send a GET request to the URL
response = requests.get(url)
# Parse the page content using BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
# List to store the scraped data
blogs = []
# Locate the sections containing blog information
# Using the provided XPath details converted to BeautifulSoup format
blog_sections = soup.select('#pages section div div div div')
for section in blog_sections:
   # Extract the blog title
   title_tag = section.select_one('h3 a')
   title = title_tag.text.strip() if title_tag else 'No title'
   # Extract the blog description
   description_tag = section.select_one('p')
   description = description_tag.text.strip() if description_tag else 'No description'
   # Extract the blog URL
   url_tag = section.select_one('h3 a')
   blog_url = url_tag['href'] if url_tag else 'No URL'
   # Append the data to the blogs list
   blogs.append({'Title': title, 'Description': description, 'URL': blog_url})
# Print the extracted information
for blog in blogs:
   print(f"Title: {blog['Title']}\nDescription: {blog['Description']}\nURL: {blog['URL']}\n")
# Save the data to a CSV file
csv_file = 'blogs.csv'
with open(csv_file, mode='w', newline='') as file:
   writer = csv.DictWriter(file, fieldnames=['Title', 'Description', 'URL'])
   writer.writeheader()
   writer.writerows(blogs)
if __name__ == '__main__':
   print(f"Data saved to {csv_file}")

Bevor Sie dieses Skript ausführen, müssen Sie sicherstellen, dass Sie die Bibliotheken "requests" und "bs4" installiert haben.

pip install anfragen bs4

Hier ist ein kurzer Überblick darüber, was dieses Skript tut:

  • Import-Bibliotheken: ImportiertAnfragen, BeautifulSoup und csv für die Bearbeitung von HTTP-Anfragen, das Parsen von HTML und die Verwaltung von CSV-Dateioperationen.
  • Webseiteninhalt abrufen: Verwendet Anfragen, um eine GET-Anfrage an die angegebene URL zu senden und den HTML-Inhalt der Seite abzurufen.
  • Parsen von HTML-Inhalten: Analysiert den abgerufenen HTML-Inhalt mit BeautifulSoup, um die Datenextraktion zu erleichtern.
  • Blog-Informationen extrahieren:
    • Blog-Titel: Extrahiert den Titel eines jeden Blogbeitrags.
    • Blog-Beschreibung: Extrahiert die Beschreibung jedes Blogbeitrags.
    • Blog-URL: Extrahiert die URL eines jeden Blogbeitrags.
  • Daten speichern: Speichert die extrahierten Daten in einer Liste von Wörterbüchern.
  • Extrahierte Daten drucken: Druckt den Titel, die Beschreibung und die URL jedes Blogbeitrags.
  • Daten in CSV speichern: Speichert die extrahierten Daten in einer CSV-Datei namens blogs.csv.

Schritt 3 - Testen Sie das Skript:

Sobald Sie die erforderlichen Bibliotheken installiert haben, erstellen Sie eine Python-Datei mit dem von Ihnen gewünschten Namen. Fügen Sie dann das Skript in diese Datei ein und speichern Sie es.

Wenn Sie das Skript ausführen, druckt es die Daten für jedes Blog aus und erstellt eine CSV-Datei mit dem Namen "blogs.csv". So sieht sie aus:

Schlussfolgerung

ChatGPT ist ein wertvolles Werkzeug für Entwickler, Datenwissenschaftler und Web-Scraping-Enthusiasten. Durch die Nutzung seiner Funktionen können Sie Ihre Web-Scraping-Skripte verbessern, die Genauigkeit erhöhen und die Entwicklungszeit reduzieren. Ganz gleich, ob Sie Daten für die Marktanalyse, die Überwachung sozialer Medien oder die akademische Forschung extrahieren, ChatGPT kann Ihnen helfen, Ihre Ziele effizienter zu erreichen.