数据结构:
1.从网站获取的数据保存为dataframe格式
2.解析时以dataframe格式传递
3.下载的时候也是以dataframe格式
4.从网站获取数据如果出错,出错的日期以txt格式记入日志
行为类:
1.获取基础数据:参照yspider,略
2.解析数据:参照yspider,略,返回的frm数据带有状态码:100
3.下载:每下载一个文件,就将frm对应行的状态码改为200并保存到本地。如果遇到程序中断,则读取保存的文件,识别出状态码100的行,继续下载。
1)函数1:核心下载程序,遍历frm每一行下载,下载成功将状态码调为200,保存到本地
2)函数2:重启程序,利用try except捕捉错误,如能捕捉到,则跳过出错行,继续下载下面的,直至遍历完成。然后回过头去数一数哪些还没有下载,识别出对应的状态码,继续进行新的遍历去下载,如此循环n次。
3)函数3:下载的主程序,将1)2)组合起来,同时设置两个读取本次下载原始数据的途径:a、如果下载中间过程的文件不存在,则读取干净的,尚未进行下载的数据文件;b、如果存在中间下载文件,则读取中间下载文件。
流程类:
1.类1:完成行为类1、2:输入某个时间段,返回这个时间段内所有的待下载文件数据的frm
1)函数1:根据行为类1执行每一天的数据获取程序
2)函数2:重启程序,利用try except捕捉错误,如能捕捉到,则重启该日的函数1,如遇到重启多次的问题则将txt保存到日志,待后续解决。
3)函数3:获取某个时间段内所有天数的数据
4)函数4:将数据根据行为类2进行解析,得到待下载数据
2.类2:下载:根据行为类3的下载程序执行下载。