一种使用BeautifulSoup提取某些<p>标签的方法?

时间:2017-03-30 20:29:09

标签: python html beautifulsoup

我一直坚持使用BS4从p标签中提取文本的当前问题。

为了便于参考,链接是HTML的屏幕截图。 enter image description here

我需要提取的内容特别是包含文本的p标记,但还有其他p标记。

我目前拥有的是:

soup2 = BeautifulSoup(response2, 'html.parser')
div = soup2.find("div", {"id": "body"}).find_all('p')
print (div[5])

我知道find_all会创建所有p标签的列表,我可能会找到我正在寻找的p标签的列表索引。但是,这是一个问题,因为我在其他页面上多次执行此提取,其中HTML布局与图片中的类似。同样,并非每个find_all列表都有p标签文本,我将寻找第5个索引。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

find_all接受许多参数。

您可以使用它们来更好地过滤结果。

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find-all

你也可以迭代所有元素并找到最可能的元素。

创建100个html页面的示例,并找到适用于所有页面的策略方法/组合。