【发布时间】:2021-12-11 22:33:25
【问题描述】:
我在使用 BeautifulSoup 抓取网页时收到AttributeError。我想从具有特定选择器的网页中获取特定文本,但出现此错误。谁能告诉我如何正确使用下面给出的 CSS 选择器?
错误:
AttributeError: 'NoneType' object has no attribute 'text'
CSS 选择器
#col-body > div > social-influence > div.row.row-zero.influence-others.panel-inactive > div:nth-child(3) > h4
我的代码
from bs4 import BeautifulSoup
import requests
html = requests.get("https://www.cryptocompare.com/coins/bnb/influence/USDT").text
soup = BeautifulSoup(html, 'html.parser')
total_commit = soup.select_one("#col-body div social-influence div.row.row-zero.influence-others.panel-inactive div:nth-child(3) h4").text
print(total_commit)
预期输出:
We don't have any code repository data yet.
【问题讨论】:
-
您在代码中使用的 CSS 选择器与单独显示的选择器不同吗?
>表示直接在下面找到一个元素,而空格表示它将继续深入查看树。 -
@CrazyChucky 它们是相同的选择器,我刚刚删除了
>以使其工作,这是错误的吗?我只是直接从检查元素复制并粘贴了选择器,我曾经使用 node.js 处理 puppet,我只是复制粘贴了选择器,但在 BS4 中我必须删除>是不是错了?你能告诉我在这种情况下使用 CSS 选择器的正确顺序吗?
标签: python beautifulsoup