如何根据变量(例如日期)循环访问 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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

R中有没有办法创建一个新列,根据其他列分配值? [复制]

如何访问所选元素,例如标题,描述,来自rss feed的日期?

MYSQL如何根据变量的值来选择字段进行查询

如何使用 PHP 捕获整个 URL? [复制]

为啥即使使用 setlocal enabledelayedexpansion 也无法访问 for 循环(批处理文件)中的局部变量? [复制]

在Postman中如何设置环境变量?