wollen helfen? Hier sind Ihre Möglichkeiten:","Crunchbase","Über uns","Vielen Dank an alle für die großartige Unterstützung!","Schnelle Links","Partnerprogramm","Prämie","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","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgien | VAT BE 0749 716 760\n"]}
Wie können Sie schnell und effizient aussagekräftige Informationen aus Websites abrufen? Das manuelle Extrahieren von Daten ist sehr zeitaufwändig. Sie können Web-Scraping verwenden, eine automatisierte Methode, um nicht-tabellarische oder schlecht strukturierte Daten von Websites zu erfassen. Später können Sie diese Daten in ein strukturiertes und brauchbares Format konvertieren, z. B. in eine Tabellenkalkulation
Wie können Sie schnell und effizient aussagekräftige Informationen aus Websites abrufen? Das manuelle Extrahieren von Daten ist sehr zeitaufwändig. Sie können Web-Scraping verwenden, eine automatisierte Methode, um nicht-tabellarische oder schlecht strukturierte Daten von Websites zu erfassen. Später können Sie diese Daten in ein strukturiertes und brauchbares Format konvertieren, z. B. in eine Tabellenkalkulation oder eine .csv-Datei.
Mit Web Scraping können Sie Daten archivieren und Datenänderungen online verfolgen. Unternehmen nutzen es für verschiedene Zwecke. Online-Shops zum Beispiel nutzen es, um die Preise ihrer Konkurrenten und öffentlich zugängliche Seiten zu scrapen. Anschließend nutzen sie diese Informationen zur Anpassung ihrer Preise. Eine weitere gängige Praxis des Web Scraping ist das Contact Scraping, bei dem die Unternehmen persönliche Daten wie Telefonnummern oder E-Mail-Adressen für Marketingzwecke sammeln.
Warum muss jemand große Mengen von Informationen aus Websites extrahieren? Um dies zu verstehen, schauen Sie sich die folgenden Anwendungen von Web Scraping an.
Sie können Daten von Websites abrufen, indem Sie die folgenden Schritte ausführen.
Die Bibliotheken, die wir für Web Scraping in Python verwenden können, sind:
Pandas - Pandas wird zur Manipulation und Analyse von Daten verwendet. Sie können diese Bibliothek verwenden, um die Daten zu extrahieren und im gewünschten Format zu speichern.
Beautiful Soup - Es ist ein Python-Paket zum Parsen von HTML- und XML-Dokumenten. Es erstellt Parse-Bäume, die bei der einfachen Extraktion von Daten aus Websites hilfreich sind.
Requests - Es handelt sich um eine einfache HTTP-Bibliothek.
Wir werden diese Website nutzen, um die Zahl der COVID-Fälle zu ermitteln. Anschließend werden wir die Daten analysieren und einige Visualisierungen erstellen.
Sie können Requests und BeautifulSoup in Python für Web Scraping importieren, wie unten gezeigt.
Anfragen importieren
von bs4 importieren BeautifulSoup
Geben Sie die URL der Website an, von der Sie die Daten abrufen möchten. Sie müssen die Methode requests.get() verwenden, um eine GET-Anfrage an die angegebene URL zu senden. Außerdem müssen Sie einen BeautifulSoup-Konstruktor erstellen, der die beiden String-Argumente entgegennimmt, wie im folgenden Code gezeigt.
url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
data = []
Mit der Methode soup.find_all() können Sie jedes Element in der Tabelle der URL'sURL's abrufen. Sie gibt ein Objekt zurück, das einen indexbasierten Zugriff auf die gefundenen Vorkommen bietet und mit einer for- oder while-Schleife ausgegeben werden kann.
data_iterator = iter(soup.find_all('td'))
Sie können eine while True-Schleife verwenden, die so lange wiederholt wird, bis Daten im Iterator vorhanden sind.
while True:
try:
country = next(data_iterator).text
bestätigt = next(daten_iterator).text
Todesfälle = next(daten_iterator).text
Kontinent = next(daten_iterator).text
Bei den Spalten "Bestätigungen" und "Todesfälle" müssen Sie die Kommas entfernen und in int umwandeln.
data.append((
Land,
(bestätigt.replace(', ', '')),
(Todesfälle.replace(',', '')),
Kontinent
))
außer StopIteration:
break
Wenn die Anzahl der Elemente, die noch zu durchlaufen sind, Null ist, wird der Fehler StopIteration ausgelöst.
Sie können die Daten von der Website extrahieren, nachdem Sie den obigen Code ausgeführt haben. Sie müssen einen Pandas-Datenrahmen erstellen, um die Daten weiter zu analysieren. Im folgenden Code haben wir die Daten nach der Anzahl der bestätigten COVID-Fälle sortiert.
Importieren Sie die Pandas-Bibliothek, um einen Datenrahmen zu erstellen.
data.sort(key = lambda Zeile: Zeile[1], reverse = True)
import pandas as pd
df = pd.DataFrame(data,columns=['country','Number of cases','Deaths','Continent'],dtype=float)
df.head()
df['Anzahl der Fälle'] = [x.replace(',', '') for x in df['Anzahl der Fälle']]
df['Anzahl der Fälle'] = pd.to_numeric(df['Anzahl der Fälle'])
df
Sie erhalten die folgende Ausgabe:
Um Informationen über Dataframe zu erhalten, verwenden Sie df.info().
df.info()
Wir erstellen eine neue Spalte mit dem Namen Death_rate (Todesrate), wie unten dargestellt.
dff = df.sort_values(by ='Anzahl der Fälle',ascending = False)
dff['Todesrate'] = (dff['Todesfälle']/dff['Anzahl der Fälle'])*100
dff.head()
Die Ausgabe ist wie folgt.
Ein Proxy-Server ermöglicht es Ihnen, eine eindeutige IP-Adresse für den Zugriff auf die Informationen zu verwenden, die Sie auslesen möchten. Auf diese Weise kann die Website Ihre tatsächliche IP-Adresse nicht sehen, und Sie können die Daten anonym auslesen. Die Verwendung von Proxys für Web-Scraping ist aus folgenden Gründen notwendig.
Sie können die folgenden zwei Proxys verwenden, um Daten von Websites abzurufen.
Sie wissen, dass Datenvisualisierung die grafische Darstellung von Daten oder Informationen ist. Sie können visuelle Werkzeuge wie Diagramme, Karten und Grafiken verwenden, um die dargestellten Daten zu verstehen. Sehen wir uns an, wie wir die extrahierten Daten von dieser Website mit Datenvisualisierungstools visualisieren können.
Sie müssen die folgenden Bibliotheken importieren, um die Daten wie unten gezeigt zu visualisieren.
import seaborn as sns
import matplotlib.pyplot as plt
from pylab import rcParams
Sie können ein Paardiagramm erstellen, um paarweise Beziehungen in einem Datensatz darzustellen. Mit dem unten stehenden Code können Sie dies leicht implementieren und Trends in den Daten für die weitere Analyse erkennen.
rcParams['figure.figsize'] = 15, 10
from matplotlib.pyplot import figure
figure(num=None, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Kontinent')
Sie erhalten dann die folgende Ausgabe.
Sie können ein Balkendiagramm erstellen, das kategoriale Daten als rechteckige Balken darstellt und die Werte der verschiedenen Kategorien in den Daten vergleicht.
sns.barplot(x = 'Land',y = 'Anzahl der Fälle',data = dff.head(10))
Die Ausgabe ist wie folgt.
Anhand eines Streudiagramms können Sie die Beziehung zwischen numerischen Werten verstehen. Es verwendet Punkte, um die Beziehung zwischen Variablen darzustellen.
sns.scatterplot(x = "Anzahl der Fälle", y = "Todesfälle",hue = "Kontinent",data = dff)
Die Ausgabe ist wie folgt.
Im folgenden Code gruppieren wir die Daten nach Kontinent und sortieren sie nach der Anzahl der COVID-Fälle.
dfg = dff.groupby(by = 'Continent',as_index = False).agg({'Number of cases':sum,'Deaths':sum})
dfgg = dfg[1:]
df1 = dfgg.sort_values(by = 'Number of cases',ascending = False)
df1['Death_rate'] = (df1['Deaths']/df1['Number of cases'])*100
df1.sort_values(by = 'Death_rate',ascending = False)
Die Ausgabe ist wie folgt.
Nun werden wir ein Balkendiagramm zwischen "Kontinent" und "Todesrate" erstellen, wie unten gezeigt.
sns.barplot(x = 'Kontinent',y = 'Todesrate',data = df1.sort_values(by = 'Todesrate',ascending = False))
Die Ausgabe ist wie folgt.
Dieses Balkendiagramm zeigt, dass die Sterblichkeitsrate in Südamerika am höchsten und in Australien am niedrigsten von allen Ländern ist.
Installieren Sie texttable, um eine einfache ASCII-Tabelle zu erstellen. Dann importieren Sie sie als tt.
!pip install texttable
importieren Sie texttable als tt
Sie müssen ein Texttable-Objekt wie unten gezeigt erstellen. Fügen Sie am Anfang der Tabelle eine leere Zeile für die Überschriften hinzu und richten Sie die Spalten aus.
Tabelle = tt.Texttable()
table.add_rows([(None, None, None, None)] + data) table.set_cols_align(('c', 'c', 'c', 'c ')) # 'l' steht für links, 'c' für Mitte und 'r' für rechts
table.header((' Land ', ' Anzahl der Fälle ', ' Todesfälle ', ' Kontinent '))
print(table.draw())
Hier stellt die Ausgabe einige der Zeilen der Tabelle wie folgt dar.
Mit Web Scraping können Sie schnell und effizient große Datenmengen aus Websites extrahieren. Sie können die extrahierten unstrukturierten Daten in ein brauchbares Format wie eine .csv-Datei konvertieren. Wir haben gesehen, dass wir mit zwei Modulen, nämlich Pandas und BeautifulSoup, Daten aus dem Web extrahieren können. Mit Proxies können Sie die Daten anonym aus dem Internet extrahieren. Sie können für das Web-Scraping entweder Proxys aus dem Rechenzentrum oder aus dem Haus verwenden. Die Proxys für Privatanwender sind zuverlässiger, aber teurer als die Proxys für Rechenzentren. Außerdem können wir eine Datenanalyse durchführen, um aufschlussreiche Informationen für unsere Bedürfnisse zu erhalten. In diesem Artikel haben wir die Daten mit Hilfe von Datenvisualisierungstools wie Balkendiagrammen, Paardiagrammen und Streudiagrammen analysiert.