原文来自:MindGo量化社区-【爬虫】使用爬虫技术获取盘后龙虎榜
【导语】本文是“爬虫”系列文章的第一篇。爬虫技术被广泛用于搜索引擎、数据采集等重要领域。搜索引擎提供海量搜索结果的背后就是依靠爬虫技术作为支撑。爬虫的最本质作用是获取数据,在获取了数据之后我们就可以通过各种方式、各种角度去使用这些数据。
2017-8-22 18:48:00 上传
下载附件 (21.08 KB)
在网购的过程中,你可能对于电商平台上的价格变化感到困惑,让人揪心的是,你永远也无法得知看中的商品在未来一段时间内价格是否能有一些优惠,即便是在年中庆等一些大型活动时期,你依旧很难预料活动的后期是不是会出现更低的价格。因此有很多人想方设法地想通过爬虫获取一些电商平台的商品价格数据,这样就能够分析出电商平台的商品定价规律。显然作为平台方,你并不会乐意敏感的商品价格和成交量信息轻易就被他人窃取走了。因而,“反爬虫”技术也就应运而生。好吧,爬虫与反爬虫是永恒的战争,正所谓“道高一丈,魔高一尺”。爬虫也可以用于社交网络分析,从“我”出发放出无数只爬虫,这些爬虫顺着你的朋友关系一层层往外扩散爬取数据,最后对这些搜集得到的数据做分析就可以得到你的关系网络结构了,这也是爬虫比较有趣的应用之一。这篇文章可能跟量化的关系不大,但是能够提供一种自动化工具,如果能够和后续的分析组装在一起,那么亦能够成为一种量化分析手段。
首先,我们必须考虑清楚为什么要用爬虫。想象一下,你是一名资深股民,每天盘前、午间和盘后都要浏览一些盘后信息,比如上市公司发布的公告(鉴于很多公司都会在盘后发布公告,可能对第二天的走势有重大影响),又比如在16:30左右坐等龙虎榜发布。这时候我们的日程表可能是这样的:
2017-8-22 18:48:01 上传
下载附件 (58.41 KB)
交易的生活已经足够艰辛了,中间何不放松一下?
如果有一种工具能够自动帮助我们获取我们想要的信息,那么就可以解放我们的劳动生产力了!
问题来了
如何以午睡的名义偷个懒?
现在,我有10只持仓股,或者说自选股,我只关心这10只股票的午间公告,以便下午开盘能够做出及时的回应。如果在没有爬虫的情况下,我可能需要在12:45左右访问一次交易所网站,浏览午间公告长长的列表,仔细辨别是不是有我关心的股票出现在了列表中。你说你可以使用浏览器的搜索功能啊,确实可以,等到你有20、30只自选股的时候你接着搜(微笑)。更何况,中午还有诱人的午觉!
到了下午收盘过后,晚间又是一个发布公告的高峰期,只是这时候的公告发布时间更加分散,从收盘15:00一直到晚上20:00都是发布晚间公告的时间。观察一下深圳证券交易所的公司公告页面,可以看到大约都上千条公告!全部翻一遍岂不是心疼死我的嫩蹄子了,又费眼!
于是,爬虫就派上用场了。如果将爬虫配合上定时功能,再配合股票池匹配功能,那么我们就能够搭建一个简易的公告监测系统,①节省我们花费大量时间浏览所有的公告内容;②从主动拉取模式转变为主动推送模式,只有出现我们关心的自选股公告时我们才会收到消息。
上述内容做铺垫使用(奸笑),公告的爬取还没有完成,龙虎榜的爬取倒是粗粗做了一个,虽然还有各种bug,不完善,后续会继续跟进完善。
在本文中,我们分享一个简陋版的盘后龙虎榜获取爬虫,它能够在收盘后爬取深圳证券交易所的龙虎榜页面,识别出上榜的股票列表,并进行推送。
所以综合一下,我认为使用爬虫有以下几点好处:
①解放劳动力,召唤爬虫帮咱干活,咱们终于可以在中午睡个午觉或者打把农药了!
②高度定制化,自己写代码的好处就是更加自由、灵活,比如可以自由指定推送时间
③便于增加数据分析环节,在拥有爬取数据能力的前提下,可以对数据进行统计、分析、挖掘(比如在后续添加情感识别环节,自动识别公告的正负影响效应,预测对股价的影响)
另一个友情提示~_~
本代码主要做原型使用,未经过严格的调试,使用过程中可能还存在一些Bug,欢迎小伙伴优化,或者分享自己的爬虫工具~另外,代码是在Python2环境下通过调试运行的,未在Python3环境运行。由于需要urllib和urllib2库的支持,建议搬运到本地IDE中调试运行使用~~
2017-8-22 18:48:00 上传
下载附件 (51.83 KB)