gpt4 book ai didi

python - 当有 child 时,重新编译不适用于 BeautifulSoup4 文本元素

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:59 27 4
gpt4 key购买 nike

h4 标签没有 child 时,我有以下工作正常:

if (BS.find('div', {"id" : "table_content"}).find('h4', text=re.compile(".*Super Users.*"))):
print "Found Super Users!"

然而,当 h4 标签有子标签时,打印永远不会发生。我尝试使用以下方法进行调试:

for h4 in BS.find('div', {"id" : "table_content"}).findAll('h4'):
print h4.text

产生:

Users 
Super Users
(TMP)
 

Administrators
....

基本上,(TMP) 部分似乎被抛弃了,因为它是来自 h4 标签子标签的文本,如下所示:

<h4>Super User
<span>(<a href="/tmp">TMP</a>)</span>
</h4>

这样做的缺点是 (TMP) 并不总是存在,因此我无法做出假设。我只需要知道 Super User 是否在 h4 的文本中,然后我就可以继续了。

最佳答案

不要在find参数中设置tag type(h4)或者单独设置为BS的方法:

if (BS.find('div', {"id" : "table_content"}).find(text=re.compile(".*Super Users.*"))):
print "Found Super Users!"

if (BS.find('div', {"id" : "table_content"}).h4.find(text=re.compile(".*Super Users.*"))):
print "Found Super Users!"

关于python - 当有 child 时,重新编译不适用于 BeautifulSoup4 文本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46226662/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com