【问题标题】:AttributeError while scraping抓取时出现AttributeError
【发布时间】:2021-02-15 13:44:57
【问题描述】:

我正在尝试抓取一个网站,但出现此错误:

AttributeError: 'NoneType' 对象没有属性 'text'

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

使用的代码是:

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")]

我想获得有关标题 (entry-title)、日期 (class="date")、作者 (<div class="by-author vcard author">... </div>) 和内容 (div class="entry-content") 的信息。 我认为问题可能在于选择正确的标签,但我不确定。

我们将不胜感激任何帮助和建议。

【问题讨论】:

  • num是什么页面?
  • 抱歉,这段代码是爬虫的一部分。我要删除那部分。我想刮掉名为“cronaca”的部分中的所有页面;但是,由于它不适用于一页,因此对所有其他页面使用 num 没有意义

标签: python web-scraping beautifulsoup web-crawler


【解决方案1】:

尝试稍微修改 CSS 选择器以获得正确的输出:

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)

输出:

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…
--------------------------------------------------

【讨论】:

  • 非常感谢您的帮助,MendelG。在这种情况下,如果我想放入一个函数中,我应该返回什么作为字段?我想将代码用于其他网站,所以我想知道如何返回标签以创建数据框。再次感谢
  • @LucaDiMauro 我不熟悉 Pandas 来帮助你。
猜你喜欢
  • 2023-03-31
  • 2021-10-28
  • 1970-01-01
  • 2021-12-11
  • 1970-01-01
  • 2017-11-28
  • 2018-11-01
  • 1970-01-01
  • 2019-05-06
相关资源
最近更新 更多