python - 在时间范围之间迭代
问题描述
我需要运行代码在日期范围内迭代抓取。目前我正在手动执行以下操作:
start_date=input("Enter start date: mm/dd/yyyy ")
end_date=input("Enter end date: mm/dd/yyyy ")
query=input("Enter query: ")
print("\n")
driver = webdriver.Chrome('/path')
driver.get('path’+‘cd_min=start_date&cd_max=end_date’)
上面的链接可能略有不同。我想手动插入开始日期,然后在一段时间内迭代一段时间或 for 循环函数,在步骤 1(start_date+1, start_date+2, and so on)
中从 a start_date
到end_date
开始时使用输入选择)。
你能告诉我我该怎么做吗?
解决方案
据我了解,您需要创建一系列可以迭代的日期。这可以通过使用 pandas 来完成。假设您的输入是正确的,您可以执行以下操作。
import pandas as pd
from datetime import datetime, timedelta
start_date=input("Enter start date: mm/dd/yyyy ")
end_date=input("Enter end date: mm/dd/yyyy ")
datelist = pd.date_range(start=start_date, end=end_date).to_pydatetime().tolist()
for i, _ in enumerate(datelist):
if i <len(datelist):
start_date = datelist[i].strftime('%m/%d/%Y')
end_date = datelist[i+1].strftime('%m/%d/%Y')
driver = webdriver.Chrome('/path')
driver.get('path'+f'cd_min={start_date}&cd_max={end_date}')
推荐阅读
- excel - 使用VBA循环一组命令,粘贴新URL时=XMLFILTER不会更新URL
- java - Apache Commons CSV 框架是否提供内存高效的增量/顺序模式来读取大文件?
- python-3.x - SkLearn SVM - 如何获得按概率排序的多个预测?
- python - 编写从多个文件中提取子类(方法)的类的正确方法是什么
- angular - 显示表单时如何在表单中显示本地存储的数据
- amazon-web-services - AWS:在 terraform 中向弹性 beantalk 添加第二个内部负载均衡器
- node.js - 使用一个 Angular 7 应用程序的多个域和子域
- node.js - `错误:评估失败:对象`和`错误:协议错误(Network.getResponseBody):请求内容已从检查器缓存中驱逐`
- image - Xamarin Binding 函数作为具有数据绑定的 Listview 中的 ImageSource
- python - 使用 python scrapy 库进行网页抓取(python 3)