Ad esempio, se si desidera ottenere aggiornamenti regolari sui tuoi prodotti preferiti per le offerte di sconto o si desidera automatizzare il processo di download di episodi della tua prima stagione preferita per uno, e il sito Web non ha alcuna API per questo, allora l'unica scelta Ti resta con il web rashing.Il raschiatura Web può essere illegale su alcuni siti Web, a seconda che un sito Web lo consenta o meno. I siti Web usano “robot.txt ”file per definire esplicitamente gli URL che non sono autorizzati a essere demoliti. È possibile verificare se se il sito Web lo consente o meno aggiungendo "robot.txt "con il nome di dominio del sito Web. Ad esempio, https: // www.Google.com/robot.TXT
In questo articolo, useremo Python per raschiare perché è molto facile da configurare e utilizzare. Ha molte biblioteche integrate e di terze parti che possono essere utilizzate per raschiare e organizzare i dati. Useremo due librerie Python "Urllib" per recuperare la pagina Web e "bellissimo" per analizzare la pagina Web per applicare le operazioni di programmazione.
Come funziona il rashing web?
Inviamo una richiesta alla pagina web, da dove si desidera raschiare i dati. Il sito Web risponderà alla richiesta con il contenuto HTML della pagina. Quindi, possiamo analizzare questa pagina web a Beautifulsoup per ulteriori elaborazioni. Per recuperare la pagina web, useremo la libreria "Urllib" in Python.
Urllib scaricherà il contenuto della pagina Web in HTML. Non possiamo applicare le operazioni di stringa a questa pagina Web HTML per l'estrazione dei contenuti e un'ulteriore elaborazione. Useremo una biblioteca Python "Beautifulsoup" che analizzerà il contenuto ed estrarre i dati interessanti.
Screping articoli da Linuxhint.com
Ora che abbiamo un'idea di come funziona il rashing web, facciamo un po 'di pratica. Cercheremo di raschiare i titoli degli articoli e i collegamenti da Linuxhint.com. Quindi apri https: // linuxhint.com/ nel tuo browser.
Ora premi CRTL+U per visualizzare il codice sorgente HTML della pagina Web.
Copia il codice sorgente e vai su https: // htmlformatter.com/ per prettificare il codice. Dopo aver delizioso il codice, è facile ispezionare il codice e trovare informazioni interessanti.
Ora, copia di nuovo il codice formattato e incollalo nel tuo editor di testo preferito come Atom, Sublime Text ecc. Ora raschiare le informazioni interessanti usando Python. Digitare quanto segue
// Installa una bellissima biblioteca di zuppe, arriva UrllibDigita "Guida", "Copyright", "Credit" o "Licenza" per ulteriori informazioni.
// Importa UrllibOra diamo un'occhiata al codice sorgente HTML che abbiamo appena copiato e incollato per trovare cose di nostro interesse.
Puoi vedere che il primo articolo elencato su Linuxhint.com è chiamato "74 esempi di operatori bash", trova questo nel codice sorgente. È racchiuso tra i tag di intestazione e il suo codice lo è
title = "74 Esempi di operatori bash"> 74 operatori bash
Esempi
Lo stesso codice si ripete più e più volte con la modifica dei soli titoli e collegamenti degli articoli. Il prossimo articolo ha il seguente codice HTML
Puoi vedere che tutti gli articoli tra cui questi due sono chiusi nello stesso "
"Tag e usa la stessa classe" Entry-Title ". Possiamo usare la funzione "Findall" nella bellissima biblioteca di zuppe per trovare ed elencare tutto "
"Avere la classe" Entry-Title ". Digita quanto segue nella tua console Python
// Questo comando troverà tutto ""Elementi tag che hanno una classe denominata
"Ingresso". L'uscita verrà archiviata in un array.
>>> articoli = page_soup.findall ("H2" ,
"class": "entry-witle")
// Il numero di articoli trovati in prima pagina di Linuxhint.com
>>> len (articoli)
102
// per primo estratto "
"Elemento tag contenente il nome e il collegamento dell'articolo
>>> articoli [0]
title = "74 Esempi di operatori bash">
74 Esempi di operatori bash
"Elemento tag contenente il nome e il collegamento dell'articolo
>>> articoli [1]
Ora che abbiamo un elenco di tutti i 102 HTML "
"Elementi tag che contiene il link dell'articolo e il titolo dell'articolo. Possiamo estrarre entrambi i collegamenti e i titoli degli articoli. Per estrarre collegamenti da tag "", possiamo utilizzare il seguente codice
// Il seguente codice estraggerà il collegamento da primo Elemento tag
>>> per il collegamento negli articoli [0].find_all ('a', href = true):
... stampa (link ['href'])
..
https: // linuxhint.com/bash_operator_examples/
Ora possiamo scrivere un ciclo per che itera attraverso ogni "
"Elemento tag nell'elenco" Articoli "ed estrarre il link e il titolo dell'articolo.
>>> per i nell'intervallo (0,10):Allo stesso modo, salvi questi risultati in un file JSON o CSV.
Conclusione
Le tue attività quotidiane non sono solo la gestione dei file o l'esecuzione del comando di sistema. È inoltre possibile automatizzare le attività relative al Web come l'automazione del download di file o l'estrazione dei dati raschiando il Web in Python. Questo articolo è stato limitato solo alla semplice estrazione dei dati, ma puoi fare un'enorme automazione delle attività utilizzando "Urllib" e "Beautifulsoup".