用Python下载巨潮资讯农业上市企业的年报PDF文件(二)

本文首发于我的博客:http://gongyanli.com/
代码传送门:https://github.com/Gladysgong/cninfo/tree/master/cninfo/pdf

前言:之前写过一篇利用文章——PhantomJS+Selenium+Scrapy抓取巨潮资讯网企业信息(一),来抓取巨潮资讯企业基本信息的文章,后来我还需要拿这些企业的年报的PDF文件,所以我试过也用也用上面这种思路去抓取,但是太过复杂,需要动态点击的元素太多,实现起来很麻烦。后来仔细看年报这块儿是通过post请求加参数来发送request,所以就很简单了。

一、思路

image

image
第一张图中我们选中了行业和所需要的年度报告,发送请求后会返回列表,里面有所有农业企业年度报告的链接。
第二张图中我们看到了请求的url和所需参数,如图示绿色框所示,所以我们只需要构建这样的请求即可。

query = {
    'stock': '',
    'searchkey': '',
    # 'plate': PLATE,
    'plate': '',
    'category': CATEGORY,
    'trade': '农、林、牧、渔业',
    'column': 'szse',
    'columnTitle': '历史公告查询',
    'pageNum': page_num,
    'pageSize': MAX_PAGESIZE,
    'tabName': 'fulltext',
    'sortName': '',
    'sortType': '',
    'limit': '',
    'showTitle': '',
    'seDate': START_DATE + '~' + END_DATE,
}
r = requests.post(URL, query, HEADER, timeout=RESPONSE_TIMEOUT)

不复杂,把请求的返回内容存入csv文件,最后再通过downloader读取csv文件,最后根据csv中的链接把PDF文件下载下来。

二、代码实现

代码我和PhantomJS+Selenium+Scrapy抓取巨潮资讯网企业信息(一)这篇文章的代码放在一起了,放着cninfo的pdf文件中了,感兴趣自己可以看,可以跑起来的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文出处: Cer_ml 1.目标 这两天要弄一个大作业,从水木社区和北大未名社区的实习板块,爬取实习信息,保存在...
    PyChina阅读 4,438评论 0 5
  • 文/熠歆 今天起,开始辅导李清嵩! 一年级课程,从0开始,孩子! 希望,能对你有所帮助! 周三 雨 jia
    熠歆阅读 1,404评论 6 2
  • 如何将产品做成服务?工程可以吗?如何为亿万中产阶层服务?,,,,,
    竹龄枱_IV阅读 1,794评论 0 0
  • 成长是一场必经的苦旅,它既是一段过程,也是最终的目的地。就像剥蒜一样,一片一片剥落下来,那些曾经经历过的磨难成了一...
    听雪1014阅读 2,682评论 0 1
  • 春节在家期间,重读了福楼拜的《包法利夫人》。或许是第一次读的时候太囫囵吞枣了,以至于第二次翻看的时候竟然觉得每个词...
    灵芙醉客阅读 3,068评论 0 1