Chen3654825665 2023-08-12 22:24 采纳率: 90%
浏览 7
已结题

这是爬取百度迁徙数据的部分代码,想要修改这部分的日期设置,现在设置的循环只能获取31天前得数据,如何设置从一时间段内的数据,想要获取一年前的迁徙情况,不懂如何修改代码


def get_time():
    begin_date = (datetime.datetime.now() - datetime.timedelta(days=31)).strftime("%Y%m%d")  #获取31天前的日期
    date_list = []   #定义一个存放日期的空列表
    begin_date = datetime.datetime.strptime(begin_date, "%Y%m%d")  # 将字符串开始日期转成日期格式
    end_date = datetime.datetime.strptime(time.strftime('%Y%m%d',time.localtime(time.time())), "%Y%m%d")  # 将字符串开始日期转成日期格式,time.localtime作用是格式化时间戳为本地的时间
    while begin_date <= end_date:   #建立while循环获取近30天的日期
        date_str = begin_date.strftime("%Y%m%d")  #从获取第一天的日期起,依次获取下一天的日期
        date_list.append(date_str)   #将获取的日期存放到date_list列表中
        begin_date += datetime.timedelta(days=1)   #从上一个日期进入下一个日期

    url = 'https://huiyan.baidu.com/migration/lastdate.jsonp?'   # 通过此url获取获取百度地图慧眼最新数据的日期
    response = requests.get(url, headers=headers, timeout=30)  # 发出请求并json化处理
    lastdate = response.text[-12:-4]   # 从字符串中提取出日期
    datetime_list = []  # 定义一个存放有用日期的空列表
    for i in date_list:    #通过for循环筛选出有用的日期
        if i == lastdate:
            datetime_list.append(lastdate)  # 将最新日期存放到datetime_list列表中
            break
        else:
            datetime_list.append(i)   # 将最新日期之前的日期存放到datetime_list列表中
    return datetime_list  # 返回datetime_list

这是爬取百度迁徙数据的部分代码,想要修改这部分的日期设置,现在设置的循环只能获取31天前得数据,如何设置从一时间段内的数据,想要获取一年前的迁徙情况,不懂如何修改代码?

  • 写回答

1条回答 默认 最新

  • 大师兄6668 Python领域新星创作者 2023-08-12 23:30
    关注

    改那个begin date和end date就行,需要啥时候就改到啥时候。不会改的话可以明确一下你要的时间段,我帮你改

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 创建了问题 8月12日

悬赏问题

  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面
  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
  • ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置