Innanzitutto, installa Beautifulsoup come segue:
PIP Installa Beautifulsoup4BeautifulSoup viene applicato a un file HTML e quindi dobbiamo iniziare ottenendo il contenuto HTML di una pagina Web. Questo viene in genere eseguito utilizzando il modulo richieste. In questo esempio specifico, otterremo il contenuto HTML di una pagina Web e lo mostreremo. Per questo, abbiamo prima impostato l'URL; In questo caso, ho scelto il sito Web dei media di buon senso (perché ha un elenco di film con valutazioni, che potremmo essere interessati a raschiare). Quindi utilizziamo il metodo get () per recuperare l'oggetto di risposta ed estrarre la porzione HTML utilizzando l'attributo di contenuto o di testo.
richieste di importazioneOra possiamo iniziare a usare BeautifulSoup. Creiamo un oggetto per bellissimoup che richiede due argomenti: il file HTML e il tipo di parser. Ci sono quattro parser disponibili - HTML.parser, lxml, lxml-xml e html5lib.
Da BS4 Import BeautifulsoupBisogna anche installare il parser. In questo caso, ho scelto il parser LXML e quindi lo installerò.
PIP Installa LXMLOra, possiamo fare qualsiasi cosa, ma esploreremo le diverse possibilità prima di iniziare il web rasking.
(i) Il metodo prettify () riscriverà il testo in un formato leggibile e "carino".
minestra.abbellire()(ii) il metodo del titolo recupererà il titolo.
minestra.titolo(iii) il metodo "P" estraggerà tutti i tag P dal codice HTML.
minestra.P(iv) Il metodo "A" estraggerà tutti i tag A dal codice HTML.
minestra.UN(v) il metodo find_all () troverà tutti gli elementi web che contengono un argomento particolare. In questo caso, ho superato "A", quindi find_all ("a") troverà tutti i tag "A".
minestra.find_all ('a')(vi) il metodo di ricerca troverà tutti gli argomenti superati. In questo caso, passiamo l'argomento ID = “Password."Quindi cercherà il codice HTML per l'ID e, se corrisponde, recupera la clausola.
minestra.Trova (id = "password")Quindi in genere, vorremmo raschiare una pagina web per lavori, film, corsi, ecc., insieme alle loro rispettive informazioni (come prezzi e valutazioni). In questo caso, siamo interessati a un sito Web, in particolare raschiando la loro lista di film.
richieste di importazioneIn questo caso particolare, il codice HTML di ciascun nome del film (ciò che stiamo raschiando) è esso stesso all'interno di un contenitore. Iniziamo per la prima volta ispezionando l'elemento in questione. Nel mio caso, ho scelto di ispezionare il titolo del primo film ("Till Death").
Quando ispeziona l'elemento, noterai che ciò che stiamo cercando - il titolo del film "Till Death" - è contenuto all'interno di un tag "Div" con la classe "contenuto contento."Questo primo tag" Div "continuerà a ricorrere in tutto il codice HTML poiché ogni titolo del film è contenuto all'interno di tale tag" Div ". E così diciamo che per ogni div in div, desideriamo selezionare il tag sub-"div" con una classe diversa di "view-field-field-field-reference-reference-review-ent-prod-time."Dopodiché, vediamo un tag" forte "con la classe" contento campo."Quindi facciamo di nuovo la stessa cosa. E infine, il nostro titolo stesso è nidificato con un tag "A", quindi selezioniamo il tag "A".
Divs = zuppa.find_all ("div", class _ = "content-content-wrapper")Si prega di notare qui che dopo la lezione di parole, c'è un sottolinea. Questo sottolineatura distingue la classe di codice HTML dalle classi Python. Quindi abbiamo scritto il codice che estraggerà il tag "Div" con la classe "Content-Content-Wrapper."
Quindi scrivi:
# divs = zuppa.find_all ("div", 'class': 'content-content-wrapper')Esistono i loop per scegliere ogni film. Infine, quando vogliamo selezionare il testo, diciamo a.testo. Quest'ultimo stamperà ogni titolo di film e, in questo modo, possiamo raschiare quello che vogliamo.
Ora, supponiamo che volessimo salvare questi dati in un file CSV; Anche questo è possibile. Per scrivere in CSV, è necessario prima importare il modulo CSV. Innanzitutto, apriamo il file dove vogliamo le informazioni archiviate. Qui passeremo tre argomenti: il nome del file, la modalità e se vogliamo una nuova linea o no. Qui, stiamo aggiungendo una nuova linea pari a nulla per impedire al file CSV di aggiungere resi (o nuove righe vuote) dopo ogni voce. In secondo luogo, passiamo il file al metodo Writer (). Terzo, scriviamo una nuova riga. In questo caso, sto chiamando la mia nuova riga "film" perché è l'intestazione di ciò che seguire.
Importa CSVIn quarto luogo, invece di semplicemente stampare la variabile "A", la spogliamo di spazi vuoti e quindi useremo il metodo Writerow () per scriverlo nel file CSV.
per Div in Divs:L'intero codice sembrerebbe qualcosa di simile:
richieste di importazioneQuesto è solo un semplice esempio. In realtà, il web rasking è così potente che puoi raschiare e monitorare quasi qualsiasi pagina web.
Codice felice!