如何根据变量(如日期)循环URL?

2024-06-13 19:39:06 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个URL的例子,我想用来刮。URL将根据日期进行更改:

https://betfair-data-supplier-prod.herokuapp.com/api/daily_racing_results?date=2020-01-01

我想搜集从1月1日到6月30日的数据。我将如何创建for循环来执行此操作

例如:

for day and month in URL:
    request = requests.get(f'https://betfair-data-supplier-prod.herokuapp.com/api/daily_racing_results?date=2020-{month}-{day})

Tags: httpscomapiurlfordatadateprod
2条回答

您可以比较日期,以便从时间段开始增加一天

Import datetime as dt
delta = dt.timedelta(days=1)
i = dt.date(2020, 1, 1)
ed = dt.date(2020, 6, 30)
while i<=ed:
    i += delta
    print(f'this/day/{i}')

产生

this/day/2020-01-01
this/day/2020-07-02
this/day/2020-07-03
...
this/day/2020-06-29
this/day/2020-06-30

首先设置开始日期和结束日期。然后以一天的增量循环通过它们。然后将当前迭代日期附加到查询的日期参数:

import datetime
import requests

start_date = datetime.date(2019, 12, 31)
end_date = datetime.date(2020, 6, 30)

day_count = (end_date - start_date).days

date = start_date
for i in range(day_count):
    date += datetime.timedelta(days=1)
    request = requests.get('https://betfair-data-supplier-prod.herokuapp.com/api/daily_racing_results?date=' + str(date))

相关问题 更多 >