如何获得唯一的ID与ID在美丽的汤以一定的价值结束?
问题描述:
我有一个网页源,它有它们各自的ID这么多div。如何获得唯一的ID与ID在美丽的汤以一定的价值结束?
例如:
<div id="abc_answer">Some content</div>
<div id="abcd_answer">Some content</div>
<div id="ggg">Some Content</div>
我想提取其在所有给定的div id为“_answer”子唯一信息。我想与beautifulsoup
答
这里是解决方案:
bsObj = BeautifulSoup(some.text, "html.parser");
found = bsObj.findAll("div", id=lambda x: x and x.endswith('_answer'))
答
一种选择是使用.select()
method并传入attribute selector[id$=_answer]
这将选择与子_answer
结束的id
属性值的元素来做到这一点:
soup.select('div[id$=_answer]')
输出:
> [<div id="abc_answer">Some answer</div>, <div id="abcd_answer">Some answer</div>]
答
你可以通过一个函数来find_all
,可以做任何检查:
soup.find_all(lambda tag: tag.name=='div' \
and tag.has_attr('id') \
and tag['id'].endswith("_answer")))
#[<div id="abc_answer">Some content</div>,
# <div id="abcd_answer">Some content</div>]
请确保在查看其值之前检查id
是否存在。
让我试试这个,并通知您,感谢BTW –