wollen helfen? Hier sind Ihre Möglichkeiten:","Crunchbase","Über uns","Vielen Dank an alle für die großartige Unterstützung!","Schnelle Links","Partnerprogramm","ProxyScrape Premium-Testversion","Proxy-Typen","Proxy-Länder","Proxy-Einsatzfälle","Wichtig","Cookie-Politik","Haftungsausschluss","Datenschutzbestimmungen","Bedingungen und Konditionen","Soziale Medien","Facebook","LinkedIn","Twitter","Quora","Telegramm","Diskord"," © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgien | VAT BE 0749 716 760"]}
Web scraping is the art of extracting data from a website in an automated and well-structured form. There could be different formats for scraping data like excel, CSV, and many more. Some practical use cases of web scraping are market research, price monitoring, price intelligence, market research, and lead generation. Web scraping is an instrumental
Web Scraping ist die Kunst, Daten aus einer Website in automatisierter und gut strukturierter Form zu extrahieren. Es gibt verschiedene Formate für das Scraping von Daten wie Excel, CSV und viele mehr. Einige praktische Anwendungsfälle von Web Scraping sind Marktforschung, Preisüberwachung, Preisinformationen, Marktforschung und Lead-Generierung. Web Scraping ist eine instrumentelle Technik, um öffentlich verfügbare Daten optimal zu nutzen und intelligentere Entscheidungen zu treffen. Daher sollte jeder zumindest die Grundlagen des Web Scraping kennen, um davon profitieren zu können.
Dieser Artikel befasst sich mit den Grundlagen des Web Scraping, indem wir mit dem Python-Framework Beautiful Soup herumspielen. Wir werden Google Colab als Programmierumgebung verwenden.
Jetzt haben wir gesehen, wie der Prozess des Web Scraping funktioniert. Fangen wir mit der Codierung an,
Schritt 1: Installation von Bibliotheken von Drittanbietern
In den meisten Fällen wird Colab mit bereits installierten Paketen von Drittanbietern ausgeliefert. Wenn Ihre Import-Anweisungen dennoch nicht funktionieren, können Sie dieses Problem lösen, indem Sie einige Pakete mit den folgenden Befehlen installieren,
pip install anfragen
pip install html5lib
pip install bs4
Schritt 2: Zugriff auf den HTML-Inhalt der Webseite
Anfragen importieren
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
print(r.content)
Es wird die Ausgabe des Formulars angezeigt,
Versuchen wir, diesen Teil des Codes zu verstehen,
Schritt 3: Parsen des HTML-Inhalts
Anfragen importieren
von bs4 importieren BeautifulSoup
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib') # Wenn diese Zeile einen Fehler verursacht, führen Sie 'pip install html5lib' aus oder installieren Sie html5lib
print(soup.prettify())
Ausgabe:
Es gibt eine sehr lange Ausgabe; einige der Screenshots sind unten angefügt.
Eines der größten Vorteile von Beautiful Soup ist, dass es auf HTML-Parsing-Bibliotheken wie html5lib, html.parse, lxml usw. aufbaut, so dass das Objekt von Beautiful Soap und die Parser-Bibliothek gleichzeitig erstellt werden können.
Im obigen Code haben wir das Objekt Beautiful Soup erstellt, indem wir zwei Argumente übergeben haben:
r.Inhalt: Roher HTML-Inhalt.
html5lib: Gibt den HTML-Parser an, der verwendet werden soll.
Schließlich wird soup.prettify() gedruckt, wodurch der Parse-Baum aus dem rohen HTML-Inhalt visuell dargestellt wird.
Schritt 4: Suchen und Navigieren im Parse-Baum
Nun ist es an der Zeit, einige der nützlichen Daten aus dem HTML-Inhalt zu extrahieren. Die Soup-Objekte enthalten die Daten in Form der verschachtelten Struktur, die weiter programmatisch extrahiert werden können. In unserem Fall scrapen wir eine Webseite, die aus einigen Zitaten besteht. Wir werden also ein Programm erstellen, das diese Zitate auflöst. Der Code ist unten angegeben,
#Python program to scrape website
#and save quotes from website
import requests
from bs4 import BeautifulSoup
import csv
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib')
quotes=[] # a list to store quotes
table = soup.find('div', attrs = {'id':'all_quotes'})
for row in table.findAll('div', attrs = {'class':'col-6 col-lg-3 text-center margin-30px-bottom sm-margin-30px-top'}):
quote = {}
quote['theme'] = row.h5.text
quote['url'] = row.a['href']
quote['img'] = row.img['src']
quote['lines'] = row.img['alt'].split(" #")[0]
quote['author'] = row.img['alt'].split(" #")[1]
quotes.append(quote)
filename = 'inspirational_quotes.csv'
with open(filename, 'w', newline='') as f:
w = csv.DictWriter(f,['theme','url','img','lines','author'])
w.writeheader()
for quote in quotes:
w.writerow(quote)
Bevor wir weitermachen, sollten wir den HTML-Inhalt der Webseite durchgehen, den wir mit der Methode soup.prettify() ausgedruckt haben, und versuchen, ein Muster zu finden, um zu den Anführungszeichen zu navigieren.
Now I will explain how we get this done in the above code,
Wenn wir durch die Anführungszeichen navigieren, stellen wir fest, dass sich alle Anführungszeichen innerhalb eines div-Containers befinden, dessen ID "all_quotes" lautet. Wir suchen also dieses div-Element (im Code als Tabelle bezeichnet) mit der Methode find():
table = soup.find('div', attrs = {'id':'all_quotes'})
Das erste Argument in dieser Funktion ist das HTML-Tag, das gesucht werden soll. Das zweite Argument ist ein Element vom Typ Wörterbuch, um die zusätzlichen Attribute zu spezifizieren, die mit diesem Tag verbunden sind. find() gibt das erste passende Element zurück. Man kann table.prettify() ausprobieren, um ein besseres Gefühl dafür zu bekommen, was dieses Stück Code bewirkt.
Wenn wir uns auf das Tabellenelement konzentrieren, enthält der div-Container jedes Zitat, dessen Klasse quote ist. Wir durchlaufen also jeden div-Container, dessen Klasse quote ist.
Hier ist die findAll()-Methode sehr nützlich, die der find()-Methode in Bezug auf die Argumente ähnelt, aber der Hauptunterschied ist, dass sie eine Liste aller übereinstimmenden Elemente zurückgibt.
Wir iterieren durch jedes Zitat mit einer Variablen namens Zeile.
Lassen Sie uns zum besseren Verständnis ein Beispiel für den Inhalt einer HTML-Zeile analysieren:
Betrachten Sie nun das folgende Stück Code:
for row in table.findAll('div', attrs = {'class':'col-6 col-lg-3 text-center margin-30px-bottom sm-margin-30px-top'}):
quote = {}
quote['theme'] = row.h5.text
quote['url'] = row.a['href']
quote['img'] = row.img['src']
quote['lines'] = row.img['alt'].split(" #")[0]
quote['author'] = row.img['alt'].split(" #")[1]
quotes.append(quote)
filename = 'inspirational_quotes.csv'
with open(filename, 'w', newline='') as f:
w = csv.DictWriter(f,['theme','url','img','lines','author'])
w.writeheader()
for quote in quotes:
w.writerow(quote)
Hier erstellen wir ein Wörterbuch, um alle Informationen über ein Zitat zu speichern. Für den Zugriff auf die verschachtelte Struktur wird die Punktschreibweise verwendet. Um auf den Text innerhalb des HTML-Elements zuzugreifen, verwenden wir .text:
Darüber hinaus können wir auch die Attribute des Tags hinzufügen, entfernen, ändern und darauf zugreifen. Wir haben dies getan, indem wir das Tag wie ein Wörterbuch behandelt haben:
quote['url'] = row.a['href']
Dann haben wir alle Anführungszeichen an die Liste " Anführungszeichen" angehängt .
Zum Schluss erstellen wir eine CSV-Datei, die wir zum Speichern unserer Daten verwenden werden.
Dateiname = 'inspirational_quotes.csv'
Wir haben unsere Datei inspirational_qoutes.csv genannt und alle Zitate in ihr gespeichert, um sie auch in Zukunft verwenden zu können. So sieht unsere inspirational_quotes.csv-Datei aus,
In der obigen Ausgabe haben wir nur drei Zeilen angezeigt, in Wirklichkeit sind es aber 33 Zeilen. Das bedeutet, dass wir durch einen einfachen Versuch eine beträchtliche Menge an Daten aus der Webseite extrahiert haben.
Hinweis: In einigen Fällen wird Web-Scraping als illegal angesehen, was dazu führen kann, dass Ihre IP-Adresse von der Website dauerhaft blockiert wird. Seien Sie also vorsichtig und scrapen Sie nur Websites und Webseiten, die dies erlauben.
Einige der realen Szenarien, in denen Web Scraping von großem Nutzen sein kann, sind,
Lead-Generierung
Eine der wichtigsten Vertriebsaktivitäten für die meisten Unternehmen ist die Generierung von Leads. Einem Bericht von Hubspot zufolge ist die Generierung von Traffic und Leads für 61 % der Inbound-Vermarkter die oberste Priorität. Web Scraping kann dabei eine Rolle spielen, indem es Vermarktern ermöglicht, auf die strukturierten Lead-Listen im gesamten Internet zuzugreifen.
Marktforschung
Die richtige Marktforschung ist das wichtigste Element eines jeden Unternehmens und erfordert daher äußerst präzise Informationen. Die Marktanalyse wird durch umfangreiches, qualitativ hochwertiges und äußerst aufschlussreiches Web-Scraping vorangetrieben, das in verschiedenen Größen und Formen vorliegen kann. Diese Daten können ein sehr nützliches Instrument für die Durchführung von Business Intelligence sein. Das Hauptaugenmerk der Marktforschung liegt auf den folgenden Geschäftsaspekten:
Inserate erstellen
Web-Scraping kann eine sehr praktische und fruchtbare Technik für die Erstellung von Listen je nach Art des Unternehmens sein, z. B. für Immobilien und eCommerce-Geschäfte. Ein Web-Scraping-Tool kann dem Unternehmen dabei helfen, Tausende von Angeboten von Konkurrenzprodukten in seinem Shop zu durchsuchen und alle notwendigen Informationen wie Preise, Produktdetails, Varianten und Bewertungen zu sammeln. Dies kann in nur wenigen Stunden geschehen, was wiederum dabei helfen kann, eigene Angebote zu erstellen und sich dabei stärker auf die Kundenwünsche zu konzentrieren.
Informationen vergleichen
Web Scraping hilft verschiedenen Unternehmen, Informationen zu sammeln und zu vergleichen und diese Daten auf sinnvolle Weise bereitzustellen. Nehmen wir z. B. Preisvergleichswebsites, die Bewertungen, Merkmale und alle wichtigen Details von verschiedenen anderen Websites extrahieren. Diese Details können für einen einfachen Zugriff zusammengestellt und angepasst werden. So kann eine Liste von verschiedenen Einzelhändlern erstellt werden, wenn der Käufer nach einem bestimmten Produkt sucht. Das Web Scraping erleichtert dem Verbraucher die Entscheidungsfindung, indem es verschiedene Produktanalysen entsprechend der Verbrauchernachfrage anzeigt.
Aggregierte Informationen
Web Scraping kann dabei helfen, die Informationen zu bündeln und sie dem Benutzer in einer organisierten Form anzuzeigen. Betrachten wir den Fall der Nachrichtenaggregatoren. Web Scraping wird auf die folgenden Arten eingesetzt,
In diesem Artikel haben wir also eingehend analysiert, wie Web-Scraping funktioniert, und dabei einen praktischen Anwendungsfall betrachtet. Wir haben auch eine sehr einfache Übung zur Erstellung eines einfachen Web-Scrapers in Python durchgeführt. Jetzt können Sie beliebige andere Websites Ihrer Wahl scrapen. Darüber hinaus haben wir uns auch einige reale Szenarien angesehen, in denen Web Scraping eine wichtige Rolle spielen kann. Wir hoffen, dass Ihnen der Artikel gefallen hat und alles klar, interessant und verständlich war.
Wenn Sie nach erstaunlichen Proxy-Diensten für Ihre Web-Scraping-Projekte suchen, sollten Sie nicht vergessen, einen Blick auf ProxyScrape Wohn- und Premium-Proxys.