【发布时间】:2020-04-01 22:11:55
【问题描述】:
我无法使用 BeautifulSoup 从网页的一部分返回所有需要的数据。当我运行下面的python时,for循环只带回它找到的第一条记录,而不是网页中的整个数据集:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.ncsl.org/research/health/state-action-on-coronavirus-covid-19.aspx')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('tbody')
records = []
for result in results:
state_name = result.find('td').text
law_Name = result.find('a').text
law_link = result.find('a').get('href')
law_status = result.find('b').text
law_descr = result.find('tr').text[16:-2]
records.append((state_name, law_Name,law_link,law_status,law_descr))
记录列表中只有一个元素填充,即使我使用 for 循环遍历所有结果对象(这是一个 bs4.element.ResultSet):
[('Alabama',
'SJR 40',
'http://alisondb.legislature.state.al.us/ALISON/SearchableInstruments/2020RS/PrintFiles/SJR40-enr.pdf',
'Eligible for Governor.',
' Urges individuals to fist bump rather than shake hands. Eligible for Governor')]
我们将不胜感激任何修复我的代码的帮助。谢谢!
【问题讨论】:
标签: python beautifulsoup python-requests