我有以下示例html:
soup=BeautifulSoup('''<ul>
<li class=“item">
<span class="letter">A. </span>
Text I want </li>
<li class="item">
<span class="letter">B.</span>
Second text I want</li></ul>''')
我试图提取“我想要的文本”和“我想要的第二个文本”,忽略span标记。到目前为止,我所做的:
soup.li.find_all(text=True,recursive=False)
返回['\n', '\nText I want ']
如果我尝试:
for s in soup.ul:
print(s.find(text=True,recursive=False))
我得到一个错误:
TypeError: find() takes no keyword arguments
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-93-f253cd430e83> in <module>
1 for s in soup.ul:
----> 2 print(s.find(text=True,recursive=False))
TypeError: find() takes no keyword arguments
感谢您的帮助
您可以使用列表理解来提取文本:
印刷品:
或者先删除
<span>
,然后获取文本:印刷品:
或者:查找
<span>
,然后.find_next_sibling(text=True)
:印刷品:
相关问题 更多 >
编程相关推荐