漂亮的soupdiv数据解析错误

2024-04-27 04:56:27 发布

您现在位置:Python中文网/ 问答频道 /正文

示例代码:

<div class="sort-line selected"  
data-discount="3392" 
data-count="669" 
data-ship_price="0"
>

我想用bs4解析“669”,但有一个错误“NoneType”对象不可调用

任何帮助都将不胜感激


Tags: 代码div示例datacount错误linediscount
1条回答
网友
1楼 · 发布于 2024-04-27 04:56:27

首先必须隔离标记,然后可以将其视为字典来获取所需的属性值Read the documentation了解有关此的更多信息

html="""
<div class="sort-line selected"
data-discount="3392"
data-count="669"
data-ship_price="0">
</div>
"""
from bs4 import BeautifulSoup
soup=BeautifulSoup(html,'html.parser')
div=soup.find('div')
print(div['data-count'])

输出:

669

如果有很多div,那么应该包含更多的filters来隔离div。 例如

div=soup.find('div',class_="sort-line selected")

使用您的url

import requests
from bs4 import BeautifulSoup
r=requests.get('https://pandao.ru/product/b89db09a-d978-437c-be37-a0c2ceffc315?d=1de543b5-527e-44e4-9888-d880d1a3c331&pid=7a9bf860-bcc7-41ea-a03f-c6bcd3e2b8f5')
soup=BeautifulSoup(r.text,'html.parser')
div=soup.find('div',class_="sort-line selected")
print(div['data-count'])

输出:

667

相关问题 更多 >