AttributeError durante lo scraping

Nov 02 2020

Sto cercando di raschiare un sito Web, ho ricevuto questo errore:

AttributeError: l'oggetto "NoneType" non ha l'attributo "text"

a

---> 12             for x in soup.select("div.site-content")]

Il codice utilizzato è:

rq = req.get("https://stopcensura.net/category/cronaca")
soup = BeautifulSoup(rq.content, 'html.parser')
scrape_info = [(x.h3.a.text, x.time.text)
            for x in soup.select("div.site-content")]

Vorrei ricevere informazioni su title ( entry-title), date ( class="date"), author ( <div class="by-author vcard author">... </div>) e content ( div class="entry-content"). Penso che il problema possa essere nella selezione dei tag giusti, ma non ne sono sicuro.

Qualsiasi aiuto e suggerimento sarà apprezzato.

Risposte

MendelG Nov 02 2020 at 21:25

Prova a modificare un po 'i selettori CSS per ottenere l'output corretto:

import requests
from bs4 import BeautifulSoup


URL = "https://stopcensura.net/category/cronaca"

soup = BeautifulSoup(requests.get(URL).content, "html.parser")

for tag in soup.select(".entry-header"):
    print(tag.select_one(".entry-title a").text)
    print(tag.select_one(".date a").text)
    print(tag.select_one(".by-author a").text)
    print(tag.find_next(class_="entry-content").text.strip())
    print("-" * 50)

Produzione:

Manifestanti inscenano corteo funebre a Napoli: “Conte hai ucciso l’Italia” (VIDEO)
2 Nov 2020
Redazione
“L’Italia che lotta non si ferma: decimo giorno di protesta. Numerosi cittadini a Napoli protestano contro…
--------------------------------------------------
Foggia, immigrato irrompe in casa armato: sprangate ad una famiglia italiana
2 Nov 2020
Redazione
FOGGIA – La serenità di una famiglia foggiana è stata interrotta da un immigrato 21enne, irregolare…
--------------------------------------------------
Decine di agenti per chiudergli locale. Titolare: “Sono un lavoratore, non un camorrista”
1 Nov 2020
Redazione
“Dopo sei giorni di eroica disobbedienza civile il ristorante Bistrot Bonaccorsi a Bologna viene chiuso con…
--------------------------------------------------
Roma, popolo in marcia verso il Parlamento: agenti caricano i manifestanti (VIDEO)
31 Ott 2020
Redazione
“L’Italia non si ferma: ottavo giorno di proteste. Roma, Campo dei Fiori, cittadini in marcia pacifica…
--------------------------------------------------
Strage di Nizza, leader islamico: “Se i fedeli si arrabbiano, poi succedono tante cose” (VIDEO)
31 Ott 2020
Redazione
Le parole del leader della comunità musulmana di Roma, Ahah Mohammed Taifur Rahman, che ieri durante…
--------------------------------------------------
Proteste a Firenze: “Non siamo fascisti, abbiamo votato per quei pezzi di mer** del Pd” (VIDEO)
31 Ott 2020
Redazione
“Proteste a Firenze contro lockdown e Governo Conte. Manifestanti tuonano contro l’informazione di regime: “Non siamo…
--------------------------------------------------