如何根据变量(例如日期)循环访问 URL? [复制]
Posted
技术标签:
【中文标题】如何根据变量(例如日期)循环访问 URL? [复制]【英文标题】:How to loop through URLs based on variable, such as date? [duplicate] 【发布时间】:2020-10-26 04:48:35 【问题描述】:这是一个 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)
【问题讨论】:
你可以使用pandas.date_range
【参考方案1】:
首先设置开始日期和结束日期。然后以一天为增量循环它们。然后将当前迭代日期附加到查询的日期参数:
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))
【讨论】:
【参考方案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
【讨论】:
以上是关于如何根据变量(例如日期)循环访问 URL? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何访问所选元素,例如标题,描述,来自rss feed的日期?
为啥即使使用 setlocal enabledelayedexpansion 也无法访问 for 循环(批处理文件)中的局部变量? [复制]