【发布时间】:2019-08-30 20:40:47
【问题描述】:
我正在尝试从具有多个具有相同类的 div 的页面中提取文本。每个 div 包含不同数量的文本链接。从每个 div 中提取的文本需要打印在一行中。
例如,如果一个 div 包含三个链接,另一个 div 包含 2 个链接,我想从第一个 div 中的三个链接中提取文本并将结果打印在一行中,然后从两个链接中提取文本第二个 div 并将其打印在新行中。我还想将提取的数据作为单个项目存储在数组中。
下面的代码正确打印了组合数据,但是除了提取的文本之外,它还打印了<a> 标签和 URL。我尝试添加文本属性 (content.text) 但出现以下错误:
AttributeError:ResultSet 对象没有属性“文本”。您可能将项目列表视为单个项目。当你打算调用 find() 时,你调用了 find_all() 吗?
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("URL")
bs = BeautifulSoup(html.read(), "html.parser")
int_array = []
int_data = bs.findAll("div", {"class": "new_titles"})
for div in int_data:
content = div.find_all("a")
int_array.append(content)
print(content)
【问题讨论】:
标签: python beautifulsoup