【发布时间】:2021-07-07 07:41:09
【问题描述】:
我只想在某个日期之后从表中抓取数据。下面的代码获取数据中的第一个日期(附加 url),但是我将如何创建一个 for 循环来仅从 2020 年 10 月 11 日和之前的所有行中提取数据?
我想创建一个for循环来提取这个表'table table-hover small horsePerformance'中某个日期之前的所有数据)
http://www.harness.org.au/racing/horse-search/?horseId=813476
with requests.Session() as s:
try:
webpage_response = s.get(horseurl, headers=headers)
except requests.exceptions.ConnectionError:
r.status_code = "Connection refused"
soup = bs(webpage_response.content, "html.parser")
horseresult6 = soup.find('table', class_='table table-hover small horsePerformance')
daysbetween = horseresult6.find('td', class_='date').get_text().strip()
daysbetween24 = horseresult6.find('td', class_='date').find_next('td', class_='date').get_text().strip()
不过我觉得应该是这样的
for tr in horseresult6.find_all('tr')[1:]:
daysbetween = tr.find('td', class_='date').get_text().strip()
if xdate > daysbetween:
do something
else:
continue
当我尝试这个时它似乎不起作用
【问题讨论】:
-
soup.find获取与您的参数匹配的第一个标签。使用soup.findAll它会给你一个标签对象列表。然后使用 for 循环遍历该列表并检查这些标签中的日期。
标签: python beautifulsoup