volete aiutarci? Ecco le opzioni disponibili:","Crunchbase","Chi siamo","Grazie a tutti per l'incredibile supporto!","Collegamenti rapidi","Programma di affiliazione","Premio","ProxyScrape prova premium","Controllore di proxy online","Tipi di proxy","Paesi proxy","Casi d'uso del proxy","Importante","Informativa sui cookie","Esclusione di responsabilità","Informativa sulla privacy","Termini e condizioni","Media sociali","Facebook","LinkedIn","Twitter","Quora","Telegramma","Discordia","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgio | IVA BE 0749 716 760\n"]}
Come si possono estrarre informazioni significative dai siti web in modo rapido ed efficiente? L'estrazione manuale dei dati richiede molto tempo. È possibile utilizzare il web scraping, un metodo automatizzato per acquisire dati non tabellari o poco strutturati dai siti web. Successivamente, è possibile convertire i dati in un formato strutturato e utilizzabile, come un foglio di calcolo.
Come si possono estrarre informazioni significative dai siti web in modo rapido ed efficiente? L'estrazione manuale dei dati richiede molto tempo. È possibile utilizzare il web scraping, un metodo automatizzato per acquisire dati non tabellari o poco strutturati dai siti web. Successivamente, è possibile convertire i dati in un formato strutturato e utilizzabile, come un foglio di calcolo o un file .csv.
Il web scraping consente di archiviare i dati e di tracciarne le modifiche online. Le aziende lo utilizzano ampiamente per scopi diversi. Ad esempio, i negozi online lo usano per raschiare i prezzi dei loro concorrenti e le pagine disponibili al pubblico. Quindi, utilizzano queste informazioni per adeguare i propri prezzi. Un'altra pratica comune di web scraping è il contact scraping, in cui le organizzazioni raccolgono dati personali come numeri di telefono o indirizzi e-mail per scopi di marketing.
Perché qualcuno deve estrarre grandi quantità di informazioni dai siti web? Per capirlo, guardate le seguenti applicazioni del web scraping.
È possibile effettuare lo scraping dei dati dai siti web seguendo i passaggi indicati di seguito.
Le librerie che possiamo utilizzare per il web scraping in Python sono:
Pandas - Pandas è utilizzato per manipolare e analizzare i dati. È possibile utilizzare questa libreria per estrarre i dati e memorizzarli nel formato desiderato.
Beautiful Soup - È un pacchetto Python per analizzare documenti HTML e XML. Crea alberi di analisi utili per estrarre facilmente i dati dai siti web.
Requests - È una semplice libreria HTTP.
Utilizzeremo questo sito per estrarre il numero di casi COVID. Successivamente, analizzeremo i dati e creeremo alcune visualizzazioni.
È possibile importare richieste e BeautifulSoup in Python per lo scraping del web, come mostrato di seguito.
importare le richieste
da bs4 importa BeautifulSoup
Specificare l'URL del sito web da cui si deve effettuare lo scraping dei dati. Si deve usare il metodo requests.get() per inviare una richiesta GET all'URL specificato. Inoltre, si deve creare un costruttore BeautifulSoup che accetti i due parametri stringa, come mostrato nel codice seguente.
url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
pagina = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
dati = []
È possibile effettuare lo scraping di ogni elemento della tabella URL utilizzando il metodo soup.find_all(). Restituisce un oggetto che offre un accesso indicizzato alle occorrenze trovate e può essere stampato utilizzando un ciclo for o while.
data_iterator = iter(soup.find_all('td'))
È possibile utilizzare un ciclo while True che si ripete finché non ci sono dati disponibili nell'iteratore.
mentre Vero:
try:
paese = next(data_iterator).text
confermato = next(data_iterator).text
morti = next(data_iterator).text
continente = next(data_iterator).text
Per le colonne "confermati" e "morti", assicurarsi di rimuovere le virgole e convertire in int.
dati.append((
paese,
(confermato.replace(', ', '')),
(morti.replace(',', '')),
continente
))
tranne StopIteration:
interrompere
Quando il numero di elementi rimasti da iterare è zero, viene sollevato l'errore StopIteration.
È possibile estrarre i dati dal sito web dopo aver eseguito il codice sopra riportato. È necessario creare un dataframe Pandas per analizzare ulteriormente i dati. Nel codice sottostante, abbiamo ordinato i dati in base al numero di casi COVID confermati.
Importare la libreria pandas per creare un dataframe.
data.sort(key = lambda row: row[1], reverse = True)
importare pandas come pd
df = pd.DataFrame(data,columns=['country','Number of cases','Deaths','Continent'],dtype=float)
df.head()
df['Numero di casi'] = [x.replace(',', '') for x in df['Numero di casi']]
df['Numero di casi'] = pd.to_numeric(df['Numero di casi'])
df
Si otterrà il seguente risultato:
Per ottenere informazioni sul Dataframe, utilizzare df.info().
df.info()
Creeremo una nuova colonna denominata Tasso di mortalità, come mostrato di seguito.
dff = df.sort_values(by ='Numero di casi', ascending = False)
dff['Tasso_di_morte'] = (dff['Decessi']/dff['Numero di casi'])*100
dff.head()
L'output è il seguente.
Un server proxy consente di utilizzare un indirizzo IP unico per accedere alle informazioni che si desidera analizzare. In questo modo, il sito web non vede il vostro indirizzo IP reale, consentendovi di effettuare lo scraping dei dati in modo anonimo. È necessario utilizzare i proxy per lo scraping del Web per i seguenti motivi.
È possibile utilizzare i due proxy seguenti per raschiare i dati dai siti web.
La visualizzazione dei dati è la rappresentazione grafica di dati o informazioni. È possibile utilizzare strumenti visivi come grafici, mappe e diagrammi come modo accessibile per comprendere i dati rappresentati. Vediamo come visualizzare i dati estratti da questo sito web utilizzando gli strumenti di visualizzazione dei dati.
Per visualizzare i dati è necessario importare le seguenti librerie, come mostrato di seguito.
importare seaborn come sns
importare matplotlib.pyplot come plt
da pylab import rcParams
È possibile tracciare un grafico a coppie per dimostrare le relazioni a coppie in un set di dati. È possibile implementarlo facilmente utilizzando il codice sottostante e identificare le tendenze nei dati per un'analisi successiva.
rcParams['figure.figsize'] = 15, 10
da matplotlib.pyplot import figura
figura(num=Nessuno, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Continente')
Si otterrà il risultato come.
È possibile tracciare un grafico a barre che mostra i dati categoriali come barre rettangolari e confronta i valori delle diverse categorie nei dati.
sns.barplot(x = 'Paese', y = 'Numero di casi', dati = dff.head(10))
L'output è il seguente.
È possibile comprendere la relazione tra valori numerici utilizzando un grafico a dispersione. Esso utilizza dei punti per rappresentare la relazione tra le variabili.
sns.scatterplot(x = "Numero di casi", y = "Decessi", hue = "Continente", data = dff)
L'output è il seguente.
Nel codice seguente, raggruppiamo i dati per continente e li ordiniamo in base al numero di casi COVID.
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)
L'output è il seguente.
Ora tracceremo un grafico a barre tra "Continente" e "Tasso di mortalità" come mostrato di seguito.
sns.barplot(x = 'Continente', y = 'Tasso di mortalità', dati = df1.sort_values(by = 'Tasso di mortalità', ascending = False))
L'output è il seguente.
Questo grafico a barre mostra che il tasso di mortalità è il più alto in Sud America e il più basso in Australia tra tutti i Paesi.
Installare texttable per creare una semplice tabella ASCII. Quindi, importatela come tt.
pip installa texttable
importare texttable come tt
È necessario creare un oggetto tabella di testo come mostrato di seguito. È necessario aggiungere una riga vuota all'inizio della tabella per le intestazioni e allineare le colonne.
tabella = tt.Texttable()
table.add_rows([(None, None, None, None)] + data) table.set_cols_align(('c', 'c', 'c', 'c')) # 'l' indica la sinistra, 'c' il centro e 'r' la destra
table.header((' Paese ', ' Numero di casi ', ' Decessi ', ' Continente '))
print(table.draw())
Qui l'output rappresenta alcune righe della tabella come.
Con il web scraping è possibile estrarre grandi quantità di dati dai siti web in modo rapido ed efficiente. È possibile convertire i dati non strutturati estratti in un formato utilizzabile come un file .csv. Abbiamo visto che è possibile effettuare lo scraping dei dati dal Web utilizzando due moduli: Pandas e BeautifulSoup. I proxy consentono di estrarre i dati dal web in modo anonimo. Per lo scraping del web si possono usare sia i proxy dei centri dati che quelli residenziali. I proxy residenziali sono più affidabili ma più costosi di quelli dei datacenter. Inoltre, è possibile effettuare analisi dei dati per ricavare informazioni utili in base alle proprie esigenze. In questo articolo, abbiamo analizzato i dati utilizzando strumenti di visualizzazione come diagrammi a barre, diagrammi a coppie e diagrammi a dispersione.