使用列表推导进行网页搜寻

时间:2017-05-02 17:10:00

标签: python web-scraping beautifulsoup

如果需要,我绝对可以提供更多信息和HTML块。我希望能够使用find_all命令而不仅仅是find命令将以下块转换为列表解析:

soup.find(class_ = 'info-box').find_parent().find('p').text

当我尝试自己使用以下内容时:

[p.text for p in soup.find_all(class_= 'info-box').find_parent().find('p')]

我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'ResultSet' object has no attribute 'find_parent'

1 个答案:

答案 0 :(得分:2)

您正在将find_parent()应用于整个ResultSet而不是单个元素。您可以尝试以下方法:

[p.find_parent().find('p').text for p in soup.find_all(class_= 'info-box')]