我有一些html,我想从中提取文本。下面是html的一个示例:
<p>TEXT I WANT <i> – </i></p>
现在,很明显,这个文档中有很多<p>
标记。因此,find('p')
不是获取要提取的文本的好方法。但是,<i>
标记是文档中唯一的标记。所以,我想我可以找到<i>
然后去找父母。
我试过:
up = soup.select('p i').parent
以及
up = soup.select('i')
print(up.parent)
我试过用.parents
,我试过find_all('i')
,find('i')
。。。但我总是得到:
'list' object has no attribute "parent"
我做错什么了?
select()
和find_all()
都返回一个元素数组。你应该这样做:这是有效的:
输出:
如其他答案所述,
find_all()
返回一个列表,而find()
返回第一个匹配项或None
如果您不确定是否存在i标记,可以使用
try/except
块find_all()
返回一个列表。find('i')
返回第一个匹配元素,即None
。因此,使用:
演示:
相关问题 更多 >
编程相关推荐