需求描述:
利用requests库分别完成中国货币网(编号10501)、北京金融资产交易所的债券(编号10701)爬取。
中国货币网地址:http://www.chinamoney.com.cn/chinese/qwjsn/?searchValue=
北京金融资产交易所地址:https://www.cfae.cn/xxpl/xxpl.html##
input:外部输入一个时间段(begin_date,end_date,均为int格式),和文件预计保存的根目录,如r‘D:\pdf’
output:对爬取的结果进行解析,最终提交一个Dataframe数据,该frm数据包含以下字段:
announce_date:文件发布日期,应该是‘2018-01-01’这样的str格式的
short_company_name:公司简称,如果没有,为空
full_company_name:公司全称,如果没有,为空
trade_code:公司代码,如果没有,为空
source_code:来源代码,中国货币网(编号10501)、北京金融资产交易所的债券(编号10701)
file_title:文件名称
file_url:文件的网络地址,可以从此地址直接下载
file_id:文件的id,唯一由三块组成,例如10501201809060,前面的10501指的是中国货币网,中间的20180906指的是发布时间,后面的0是指从0开始0,1,2,3…10,11…依次编号。
file_path:文件预计要保存的本地地址,由文件预计保存的根目录+时间目录+文件名组成,例如:r‘D:\pdf\2018\09\06\10601201809060.pdf’
status:状态码,默认100
download_date:为空
其他:
中国货币网需要输入关键字,关键字可以从机构信息中获得(约5000多个公司)。
需要注意的是,有些公司名字包含了新名字和旧名字,需要将其拆分出来,并且指向同一个id,最终做成一个公司名的DataFrame数据,示例:
后续爬取的时候新名字和旧名字均需要爬取。
该公司名的DataFrame数据也需要提交。并且需要有更新函数,即未来该机构信息有增加的,需要增加到公司名DataFrame数据里。
验收标准:
1.提交代码(包含测试用例)。代码规范参考这个地址:https://www.jianshu.com/p/3f14bd0378fc
测试用例可以从抓取后的数据里取三条数据进行比对,如:
2.提交数据:2008-01-01~2017-12-31这10年的数据(DataFrame格式)以及从中国货币网获得的机构信息的DataFrame数据。需要确保抓取的数据和网页显示的数据100%无误。
3.提交截图:网页显示的2008-01-01~2017-12-31这段时间数据总数和抓取下来的总数相同。
4.提交截图:验证10个公司,确保2008-01-01~2017-12-31这段时间每个公司网页显示数据数和抓取下来的数据数相同。
10个公司分别如下:
无锡产业发展集团有限公司,南京江宁国有资产经营集团有限公司,杉杉集团有限公司,安徽省交通控股集团有限公司,山东钢铁集团有限公司,四川高速公路建设开发集团有限公司,上海国有资产经营有限公司,平湖市国有资产控股集团有限公司,北京能源集团有限责任公司,厦门建发集团有限公司