如何从url中包含日期的多个页面中提取数据?

2024-04-25 10:18:40 发布

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

我想从链接如下的网站中提取内容:

“www.example.com/getpublicreport?日期=2021-10-01”

使用请求从我可以使用url中的日期导航的多个页面提取数据的代码应该是什么

例如,如果我想从日期2019-01-01提取数据,直到当前数据,我如何使用请求库编写代码来获取数据


2条回答

www.example.com/getpublicreport?date=2021-10-01

这是一个带有参数的URL示例,requests确实有params,您应该在其中传递带有键值对的dict。您可以按如下方式访问此文件

import requests
url = "http://www.example.com/getpublicreport"
parameters = {"date": "2021-10-01"}
r = requests.get(url, params=parameters)
print(r.url)  # http://www.example.com/getpublicreport?date=2021-10-01

如果您想了解更多关于URL的信息,请阅读RFC1738

您好,您可以使用datetime软件包:)

例如:

import datetime

import requests


def extract_data(start_date, end_date):
    while start_date <= end_date:
        yield requests.get('www.example.com/getpublicreport?date=%s' % start_date.isoformat())
        start_date += datetime.timedelta(days=1)

if __name__ == '__main__':
    for r in extract_data(datetime.date(2019, 01, 01), datetime.date.today()):
        print(r.content)

相关问题 更多 >