Beautifulsoup span属性没有值,查找返回“无”如何获取文本?

时间:2020-09-13 21:18:26

标签: python-3.x beautifulsoup

HTML:

<h2 class="members-results" data-members-result="">
#           <span data-members-count="">78430</span> results based on your <span>search options</span>        </h2>

我需要值78430

第一次尝试:

soup_page = BeautifulSoup(driver.page_source, 'lxml')
baitres = soup_page.find("span", attrs={'data-members-count'})
print(baitres)

输出:None

第二次尝试:

baitres = soup_page.find("span", attrs={'data-members-count'}).text

错误:AttributeError: 'NoneType' object has no attribute 'text'

为什么不选择数字作为文本?
而我应该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您的第一次尝试几乎是正确的!

if(SOCKET_LIST && SOCKET_LIST.length) { SOCKET_LIST.forEach((socket) => { if(socket) { socket.emit('playerPos', { x: socket.x, y: socket.y }); } }) } 是字典。代码缺少要匹配的值。通常,您匹配字符串(或字符串为空)。但是,如果您要做的只是与现有属性匹配,则传递Attrs。例如:True

工作示例:

baitres = soup_page.find("span", attrs={'data-members-count': True})
相关问题