Wie schöpft man Preise von Websites? Ein solider Leitfaden im Jahr 2024

Leitfäden, How to's, Aug-04-20225 Min. gelesen

Laut Statista beliefen sich die Umsätze im Einzelhandel im Jahr 2021 weltweit auf 4,9 Billionen US-Dollar. Das ist eine Menge Geld, und es wird vorhergesagt, dass bis 2025 die 7-Billionen-US-Dollar-Marke erreicht wird. Wie Sie sich denken können, ist bei diesem großen Umsatzpotenzial im E-Commerce ein aggressiver Wettbewerb vorprogrammiert.

Laut Statista beliefen sich die Umsätze im Einzelhandel im Jahr 2021 weltweit auf 4,9 Billionen US-Dollar. Das ist eine Menge Geld, und es wird vorhergesagt, dass bis 2025 die 7-Billionen-US-Dollar-Marke erreicht wird. Wie Sie sich denken können, ist bei diesem großen Umsatzpotenzial im E-Commerce ein aggressiver Wettbewerb vorprogrammiert.

Daher ist es notwendig, sich an die neuesten Trends anzupassen, um in dieser äußerst wettbewerbsintensiven Atmosphäre zu überleben und zu gedeihen. Wenn Sie ein Marktteilnehmer sind, besteht der erste Schritt in diese Richtung darin, Ihre Wettbewerber zu analysieren. Ein wichtiger Bestandteil dieser Analyse ist der Preis. Wenn Sie die Preise der Produkte Ihrer Konkurrenten vergleichen, können Sie den wettbewerbsfähigsten Preis auf dem Markt anbieten. 

Wenn Sie ein Endverbraucher sind, können Sie außerdem die niedrigsten Preise für jedes Produkt entdecken. Die eigentliche Herausforderung besteht jedoch darin, dass viele E-Commerce-Websites online verfügbar sind. Es ist unmöglich, jede Website manuell aufzurufen und den Preis jedes Produkts zu überprüfen. An dieser Stelle kommt die Computerprogrammierung ins Spiel. Mit Hilfe von Python-Code können wir Informationen aus den Websites extrahieren. Das macht das Scrapen von Preisen aus Websites zu einem Kinderspiel. 

In diesem Artikel wird erörtert, wie man am Beispiel von Python Preise von Websites einer eCommerce-Website abrufen kann. 

Bitte wählen Sie den Abschnitt aus, der Sie am meisten interessiert.

Ist Web Scraping legal?

Preise von Websites scrapen

Schritt 1: Installation der erforderlichen Bibliotheken:

Schritt 2: Extraktion von Webdaten:

Schritt 3: Parsing der Daten:

Schritt 4: Schleifen im Code, um mehr Daten zu erhalten:

Schritt 5: Abrufen der Ausgabe:

FAQs:

Schlussfolgerung:

Wichtigste Erkenntnisse:

Ist Web Scraping legal?

Bevor wir uns mit dem Scraping von Preisen aus Websites befassen, müssen wir die Definition und die rechtlichen Faktoren des Web Scraping erörtern.

Beim Web Scraping, auch bekannt als Webdatenextraktion, werden Bots eingesetzt, um eine Ziel-Website zu durchsuchen und die erforderlichen Daten zu sammeln. Wenn Sie den Begriff "Web-Scraping" hören, stellt sich als erstes die Frage, ob Web-Scraping legal ist oder nicht.

Diese Antwort hängt von einer anderen Frage ab: "Was werden Sie mit den gescrapten Daten machen?" Es ist legal, Daten von anderen Websites für persönliche Analysen zu erhalten, da alle angezeigten Informationen für den öffentlichen Gebrauch bestimmt sind. Wenn die Daten, die Sie für Ihre eigene Analyse verwenden, jedoch den ursprünglichen Eigentümer der Daten in irgendeiner Form beeinträchtigen, ist dies illegal. Im Jahr 2019 entschied ein US-Bundesgericht jedoch, dass Web Scraping nicht gegen Hacking-Gesetze verstößt.

Kurz gesagt, es ist immer besser, Daten von Websites zu extrahieren, die den ursprünglichen Eigentümer der Daten nicht betreffen. Ein weiterer Punkt, den Sie beachten sollten, ist, dass Sie nur die Daten auslesen sollten, die Sie benötigen. Wenn Sie tonnenweise Daten von der Website abrufen, wird dies wahrscheinlich die Bandbreite oder Leistung der Website beeinträchtigen. Es ist wichtig, diesen Faktor im Auge zu behalten. 

Wenn Sie sich nicht sicher sind, wie Sie überprüfen können, ob die Website Web Scraping zulässt oder nicht, gibt es verschiedene Möglichkeiten, dies zu tun:

Prüfen Sie die Datei Robot.txt - Diese für Menschen lesbare Textdatei gibt Auskunft darüber, wie viele Daten Sie von bestimmten Websites auslesen können. Eine Robot-Textdatei hilft Ihnen dabei, festzustellen, was Sie auslesen dürfen und was nicht. Verschiedene Herausgeber von Websites verwenden unterschiedliche Formate für ihre Robot-Dateien. Es wird empfohlen, die Datei zu überprüfen, bevor Sie den Scraping-Prozess durchführen. Sitemap-Dateien - Eine Sitemap-Datei ist eine Datei, die die notwendigen Informationen über die Webseite, Audio-, Video- und andere Dateien über die Website enthält. Suchmaschinen lesen diese Datei, um die Seite effizienter zu crawlen. Größe der Website - Wie bereits erwähnt, wirkt sich das Crawlen von Unmengen von Daten auf die Effizienz der Website und die Effizienz des Scrapers aus. Achten Sie auf die Größe der Website. HINWEIS: Die Größe der Website bezieht sich auf die Anzahl der verfügbaren Seiten. Überprüfen Sie die Allgemeinen Geschäftsbedingungen - Es ist immer eine gute Idee, die Allgemeinen Geschäftsbedingungen der Website zu überprüfen, die Sie crawlen möchten. In den Allgemeinen Geschäftsbedingungen finden Sie wahrscheinlich einen Abschnitt über Web-Scraping, in dem es darum geht, wie viele Daten Sie scrapen dürfen und welche Technologie auf den Websites verwendet wird.

Wie man Preise von Websites mit Python scrapen?

Jetzt sollten Sie ein grundlegendes Verständnis von Web Scraping und den rechtlichen Faktoren hinter Web Scraping haben. Sehen wir uns an, wie wir einen einfachen Web-Scraper erstellen können, um die Preise von Laptops auf einer E-Commerce-Website zu ermitteln. Zur Erstellung des Scrapers wird die Sprache Python zusammen mit dem Jupyter-Notebook verwendet.

5 Schritte zum Scrapen von Preisen aus Websites mit Python

Schritt 1: Installation der erforderlichen Bibliotheken:

In Python sammelt eine Bibliothek namens "BeautifulSoup" Daten von anderen Websites, um Preise von Websites abzugreifen.

Zusammen mit BeautifulSoup verwenden wir "Pandas" und "requests". Pandas wird für die Erstellung eines Datenrahmens und die Durchführung von High-Level-Datenanalysen verwendet, und request ist die HTTP-Bibliothek, die dabei hilft, die Daten von den Websites anzufordern. Um diese Bibliotheken in Python zu installieren, verwenden Sie den folgenden Code:

von bs4 importieren BeautifuSoup
importiere Anfragen
importiere pandas als pd
import urllib.parse

Schritt 2: Extraktion von Webdaten:

Aus Gründen der Praktikabilität wird in diesem Beispiel der Name der Website nicht sichtbar gemacht. Wenn Sie die oben erwähnten rechtlichen Richtlinien für Web Scraping und die folgenden Schritte befolgen, erhalten Sie das Ergebnis. Sobald Sie die Adresse der Website erhalten haben, können Sie sie in einer Variablen speichern und prüfen, ob die Anfrage angenommen wurde oder nicht. Um Daten zu extrahieren, folgen Sie dem Python-Code, der unten gezeigt wird:

seed_url = 'beispiel.com/laptops'
response = requests.get(seed_url) #Prüfen, ob die Anfrage angenommen wurde oder nicht
response.status_code #200 ist der Code für den OK-Status, was bedeutet, dass die Anfrage angenommen wurde.
200

Der status_code gibt Auskunft darüber, ob wir eine Anfrage erhalten haben oder nicht. Hier bedeutet der status_code '200', dass die Anfrage angenommen wurde. Jetzt haben wir die Anfrage erhalten. Der nächste Schritt besteht darin, die Daten zu parsen.

Schritt 3: Parsing der Daten:

Parsing ist der Prozess der Umwandlung eines Formats in ein anderes Format. In diesem Fall wird ein HTML-Parsing durchgeführt, bei dem die Daten (HTML) in ein internes Format (Python) umgewandelt werden, damit die Umgebung die Daten ausführen kann. Die folgende Abbildung zeigt den Python-Code, der den Prozess des Parsens von Daten unter Verwendung der BeautifulSoup-Bibliothek durchführt:

soup = BeautifulSoup(response.content, 'html.parser')

Durch das Parsen der Webseiten erhält Python alle Daten wie Namen, Tags, Preise, Bilddetails und Details zum Seitenlayout.

Wie oben erwähnt, ist unser Ziel, die Preise des Laptops auf einer E-Commerce-Website zu finden. Die notwendigen Informationen für dieses Beispiel sind der Name des Laptops und sein Preis. Um diese zu finden, besuchen Sie die Webseite, die Sie abschreiben möchten. Klicken Sie mit der rechten Maustaste auf die Webseite und wählen Sie die Option "inspizieren". Sie sehen dann ein Terminal wie dieses:

Verwenden Sie die hervorgehobene Option, um den Mauszeiger über den Namen des Laptops, den Preis und den Container zu bewegen. Wenn Sie das tun, sehen Sie den Div-Code im Terminal hervorgehoben. Von dort aus können Sie die Klassendetails abrufen. Sobald Sie die Klassendetails erhalten haben, geben Sie alle Informationen in den unten stehenden Python-Code ein.  

results = soup.find_all('div', {'class':'item-container'})
len(results)

results[1]

#NECESSARY DATA:
#Name and Price of the item
Name_of_the_Item= soup.find('a', {'class':'item-title'}).get_text()
print(Name_of_the_Item)

price=soup.find('li', {'class':'price-current'}).get_text()
print(price)

Schritt 4: Schleifen im Code, um mehr Daten zu erhalten:

Jetzt haben Sie den Preis für einen einzelnen Laptop. Was ist, wenn Sie 10 Laptops benötigen? Das ist möglich, indem man denselben Code in einer for-Schleife verwendet. Der Python-Code für die Ausführung einer for-Schleife wird unten gezeigt.

Name_of_the_item = []
Price_of_the_item = []
for soup in results:
    try:
        Name_of_the_item.append(soup.find('a', {'class':'item-title'}).get_text()) 
    except:
        Name_of_the_item.append('n/a')
    try:
        Price_of_the_item.append(soup.find('li', {'class':'price-current'}).get_text())
    except:
        Price_of_the_item.append('n/a')
print(Name_of_the_item)
print(Price_of_the_item)

Schritt 5: Abrufen der Ausgabe:

Nachdem nun alle Schritte für das Web Scraping erläutert wurden, wollen wir sehen, wie die Ausgabe aussieht.

Für den Namen der Laptops:

Für den Preis der Laptops:

Diese Daten liegen nicht in einem lesbaren Format vor. Um dies in ein lesbares Format zu konvertieren, vorzugsweise in ein Tabellenformat (Datenrahmen), können Sie die Pandas-Bibliothek verwenden. Der Python-Code wird unten gezeigt, wie dieser Schritt auszuführen ist.

#Creating a dataframe
product_details=pd.DataFrame({'Name': Name_of_the_item, 'Price':Price_of_the_item})
product_details.head(10)

Jetzt sieht es lesbar aus. Der letzte Schritt besteht darin, diesen Datenrahmen zur Analyse in einer CSV-Datei zu speichern. Der Python-Code zum Speichern des Datenrahmens im CSV-Format ist unten dargestellt.

product_details.to_csv("Web-scraping.csv")

Damit können Sie eine einfache Wettbewerbsanalyse durchführen, die sich auf die Preise der Produkte konzentriert. Anstatt dies manuell zu tun, ist automatisiertes Web Scraping mit Python eine effiziente Methode, die Ihnen viel Zeit spart. 

ProxyScrape:

Wie oben beschrieben, um zu prüfen, ob die Website Web-Scraping zulässt, können Proxys Ihnen helfen, das Problem zu lösen.

Proxys helfen Ihnen, Ihre lokale IP-Adresse zu verbergen und können Sie online anonym machen. Auf diese Weise können Sie ohne Probleme Daten von Websites abrufen. ProxyScrape ist der beste Ort, um sowohl Premium-Proxys als auch kostenlose Proxys zu erhalten. Die Vorteile der Nutzung von ProxyScrape sind:

  • Verbirgt Ihre Identität und sorgt dafür, dass Sie nicht blockiert werden.
  • Es kann auf allen Betriebssystemen verwendet werden.
  • Unterstützt die meisten modernen Webstandards.
  • Kein Download-Limit.
  • Hilft Ihnen bei der Durchführung von Web Scraping, ohne die Effizienz des Scrapers zu beeinträchtigen.
  • 99% Betriebszeit-Garantie.

FAQs:

FAQs:

1. Was macht ein Web Scraper?
Ein Web Scraper ist ein Tool oder eine Software, die mit Hilfe eines Bots die Website durchkämmt, um die für die Analyse erforderlichen Informationen zu erhalten.
2. Ist es legal, Web Scraping durchzuführen, um Preise von Websites abzugreifen?
Es ist legal, Daten von anderen Websites für persönliche Analysen zu erhalten, da alle angezeigten Informationen für den öffentlichen Gebrauch bestimmt sind. Wenn jedoch die Verwendung der Daten für Ihre eigene Analyse den ursprünglichen Eigentümer der Daten in irgendeiner Form beeinträchtigt, ist dies illegal.
3. Helfen Proxys beim Web-Scraping?
Ja, Proxys helfen Ihnen beim Web-Scraping, indem sie Ihre Anonymität wahren und sicherstellen, dass Sie nicht von der Ziel-Website gesperrt werden.

Schlussfolgerung:

In diesem Artikel haben wir gesehen, wie man mit Python Preise von Websites abgreift. Web Scraping ist ein effizienter Weg, um Daten online zu erhalten. Die meisten Kickstarter nutzen Web Scraping, um unter Einhaltung aller ethischen Richtlinien und ohne großen Zeit- und Ressourcenaufwand an die notwendigen Daten zu gelangen. Spezielle Web-Scraping-Tools stehen online für verschiedene Informationen zur Verfügung, z. B. für Preise und Produktinformationen. Sie können hier mehr über Web Scraping Tools erfahren.

Wir hoffen, dass dieser Artikel genügend Informationen enthält, um die Frage zu beantworten: "Wie kann man Preise von Websites abgreifen?" In der Realität gibt es jedoch keine eindeutige Methode, um Preise von Websites zu scrapen. Sie können entweder spezielle Web-Scraping-Tools zum Scrapen von Preisen aus Websites verwenden oder eigene Python-Skripte zum Scrapen von Preisen aus Websites erstellen. So oder so können Sie Zeit sparen und ohne Schwierigkeiten viele Daten sammeln. 

Wichtigste Erkenntnisse:

  • Web Scraping ist ein effizienter Weg, um Daten online zu erhalten, ohne viel Zeit und Ressourcen zu investieren.
  • Das Web-Scraping sollte unter Einhaltung aller ethischen Richtlinien durchgeführt werden.
  • Python-Bibliotheken wie "BeautifulSoup" werden für Web Scraping verwendet
  • Die Verwendung von Proxys hilft dabei, Web Scraping ohne Störungen durchzuführen.

HAFTUNGSAUSSCHLUSS: Dieser Artikel ist ausschließlich zu Lernzwecken gedacht. Wenn die entsprechenden Richtlinien nicht befolgt werden, kann die Durchführung von Web Scraping als illegale Aktivität betrachtet werden. Dieser Artikel unterstützt in keiner Weise illegales Web Scraping.