在时间范围之间迭代

时间:2020-04-02 10:34:36

标签: python loops

我需要运行在日期范围内对抓取进行迭代的代码。 目前,我正在手动执行以下操作:

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’)

上面的链接可能略有不同。 我想手动插入开始日期,然后进行一段时间的迭代或遍历时间进行循环,在步骤1 (start_date+1, start_date+2, and so on)从开始选择的start_dateend_date也使用输入)。

您能告诉我我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

据我了解,您需要创建一个范围可以迭代的日期。 这可以通过使用熊猫来完成。假设输入正确,则可以执行以下操作。

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}')