。,。设计公告信息爬虫面临的主要问题在上一篇文章已经叙述过了,这篇文章我们选择合适的数据源和爬取的方式
首先选择爬取的数据源,这里笔者经过多方比较,最终选择了东方财富网作为公告爬虫的数据源。
下面以飞马国际为例(002210)
我们可以看到,东方财富网专门设有网页保存对应股票的公告信息,但通过翻页操作观察地址栏,该网页的股票公告链接是属于ajax异步加载。
根据前面的知识,爬取这种网页我们可以选择selenium+phantomjs模拟浏览器进行操作,或者通过构造接口拿到对应的信息。
模拟浏览器的方法速度较慢,这里我们采用构造数据接口的方式。打开开发者工具进行翻页操作。
新出现了js的请求,对应的url为数据的接口,打开网址
。,。嗯,确实是对应的股票公告信息,但可惜并不是json格式,我们可以采用正则表达式获取对应的链接
针对接口的网址进行分析,笔者经过几次尝试之后,总结出东方财富网数据接口url格式大概如下
http://data.eastmoney.com/notices/getdata.ashx?StockCode=?&CodeType=1&PageIndex=?&PageSize=50&rt=50239182
其中stockcode对应股票的代码,pageindex对应公告的页数
这表示我们只要拿到对应的上市公司所有股票的代码就可以构造出他们对应的公告数据url
股票代码的获取我们还是选择东方财富网
股票代码的网页是纯静态网页,直接使用xpath或者beautisfulsoup就可以抓取,比较简单,这里就不再赘述了。
将股票代码爬取之后储存为txt或csv文件,在构造接口时直接使用。
。,。数据源已经选定,我们接下来构建数据的储存结构。