假设网页包含以下内容:
<p style="display: none;"><input id="ak_js" name="ak_js" type="hidden" value="68"/></p>
<p><b>Lack of sales.. ANY sales.</b></p>
我正在尝试编写仅提取第二个标记的代码。基本上所有段落标签都不包含属性。 我在下面尝试了以下两段代码,但是他们没有得到我想要的结果。
text = BeautifulSoup(requests.get(url).text)
for tag in text.find_all("p", attrs = False):
.....
for tag in text.find_all(re.compile("^<p>$")):
....
解决这个问题的最佳方法是什么?
答案 0 :(得分:3)
你可以给find_all
一个lambda并用它过滤。
soup.find_all(lambda tag: tag.name == 'p' and not tag.attrs)