Web Scraping mit Python: Zitate von Quotes to Scrape

Eine Anleitung zum Scraping von Zitate von der Website Quotes to Scrape, einschließlich Python-Beispielen und Datenexport.

Web Scraping von Quotes

In diesem Notebook lernen wir, wie man die Website Quotes to Scrape mit Python und BeautifulSoup scrapt. Diese Seite ist ein gutes Beispiel, um das Scraping von Zitaten und Autoren zu üben.

# Installieren der benötigten Bibliotheken
# ! pip install requests beautifulsoup4 pandas

Schritt 1: HTML-Inhalt abrufen

Wir verwenden die requests-Bibliothek, um den HTML-Inhalt der Seite abzurufen.

import requests

# URL der Website
url = "https://quotes.toscrape.com/"

# HTML-Inhalt abrufen
response = requests.get(url)

# Überprüfen, ob die Anfrage erfolgreich war
if response.status_code == 200:
    print("HTML-Inhalt erfolgreich abgerufen.")
else:
    print(f"Fehler beim Abrufen der Seite: {response.status_code}")

Schritt 2: HTML mit BeautifulSoup parsen

Jetzt parsen wir den abgerufenen HTML-Inhalt mit BeautifulSoup.

from bs4 import BeautifulSoup

# HTML-Inhalt parsen
soup = BeautifulSoup(response.text, 'html.parser')

# Überprüfen des Titels der Seite
print(soup.title.string)

Schritt 3: Daten extrahieren

Wir extrahieren nun die Zitate und die zugehörigen Autoren.

# Listen zur Speicherung der Daten
quotes = []
authors = []

# Alle Zitatcontainer finden
quote_blocks = soup.find_all('div', class_='quote')

# Daten extrahieren
for block in quote_blocks:
    quote = block.find('span', class_='text').text  # Zitat
    author = block.find('small', class_='author').text  # Autor
    quotes.append(quote)
    authors.append(author)

# Die ersten Zitate anzeigen
for quote, author in zip(quotes[:5], authors[:5]):  # Nur die ersten 5 Zitate
    print(f'"{quote}" - {author}')

Schritt 4: Daten in einem DataFrame speichern

Um die extrahierten Daten zu speichern, verwenden wir pandas, um sie in einem DataFrame zu organisieren.

import pandas as pd

# DataFrame erstellen
quotes_df = pd.DataFrame({
    'Quote': quotes,
    'Author': authors
})

# DataFrame anzeigen
quotes_df.head()

Fazit

In diesem Notebook haben wir gelernt, wie man die Website Quotes to Scrape mit Python und BeautifulSoup scrapt. Wir haben die Zitate und ihre Autoren extrahiert und in einem DataFrame gespeichert.