【发布时间】:2020-01-09 19:19:59
【问题描述】:
我正在尝试从网站中提取论坛名称,当我尝试提取名称时,列表中的每个项目都被添加到列表中的后续项目中。
url = "https://www.f150forum.com/f118"
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
domains = soup.find_all('div',attrs={"class":"trow text-center"})
htags = [i.find_all('h4') for i in domains]
forum = []
for x in htags:
for i in x :
results = [i.get_text(strip=True, separator=" ")]
forum.append(results)
print(len(forum))
Len(forum) 应该是 59,因为它显示为 1,2,3...59。我应该怎么做才能将每个 h4 提取为列表中的一个项目?
【问题讨论】:
-
它显示,因为您正在打印循环中的长度。取消最后一个打印语句的缩进,你应该只看到
59 -
您看到的是 1, 2, 3... 因为循环中有
print()。您是否希望列表forum仅包含来自<h4>的 59 个字符串?或 59 个列表,每个列表包含来自<h4>的一个字符串?
标签: python web-scraping beautifulsoup