【爬虫军火库】生成指定日期间的日期列表
时间:2022-05-07
本文章向大家介绍【爬虫军火库】生成指定日期间的日期列表,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天没能空下来时间写太多,所以只简单记录一个很具体的需求:
指定了起止日期,如何生成一个日期列表。
这个需求是我之前在抓取一个环保的历史数据时遇到的:
如图,在这个页面上,我们需要手动通过日期控件选择日期,点击查询后,浏览器会向服务器发出POST请求,而POST的数据便是这一天的日期格式。
因此,假如我们需要自动化大量抓取数据,就需要实现生成指定日期间的日期列表。
当时尝试了许多办法,都感觉不太方便,最后是这么实现的(源自知乎某位匿名用户的回答)
import datetime
def datelist(start, end):
start_date = datetime.date(*start)
end_date = datetime.date(*end)
result = []
curr_date = start_date
while curr_date != end_date:
result.append("%04d-%02d-%02d" % (curr_date.year, curr_date.month, curr_date.day))
curr_date += datetime.timedelta(1)
result.append("%04d-%02d-%02d" % (curr_date.year, curr_date.month, curr_date.day))
return result
print(datelist((2013, 2, 27), (2013, 3, 3)))
后来又遇到别人写的解法,更加简洁明了。(https://www.zhihu.com/question/35455996/answer/152161065):
import pandas as pd
from datetime import datetime
def datelist(beginDate, endDate):
# beginDate, endDate是形如‘20160601’的字符串或datetime格式
date_l=[datetime.strftime(x,'%Y-%m-%d') for x in list(pd.date_range(start=beginDate, end=endDate))]
return date_l
print(datelist(20130206, 20130303))
分享给大家,以备遇到相似需求。
查看当时环保数据爬虫的详情:https://www.zhihu.com/question/41136540/answer/89765276
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 链路聚合实验
- 聊聊dubbo-go的failsafeCluster
- Phenotype : 大规模表型数据处理工具
- 聊聊dubbo-go的registryAwareCluster
- 老伙计,关于JDK并发包,这些不为人知的秘密你知道多少?
- 不能错过的分布式ID生成器(Leaf ),好用的一批
- 微信小程序开发实战(20):TabBar导航
- 饿了么备注输入框-不吃辣-少放辣-多放辣-不吃蒜-不吃香菜等
- From High Ceph Latency to Kernel Patch with eBPF/BCC
- JConsole、VisualVM 依赖的 JMX 技术到底是什么
- DHCP 中继实验
- 【NBA 可视化】使用Pyecharts实现湖人19-20赛季投篮数据可视化~
- 微信小程序开发实战(18):地图组件
- 教你几招,快速创建 MySQL 五百万级数据,愉快的学习各种优化技巧
- 【Pyecharts】2014-2019年高考数据可视化~