背景
前段时间给朋友写了一个自动抓取同花顺股票数据的程序,很多人以为不错。java
这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不必定能搞得定。git
原本我是一个德艺双磬且与世无争的佛系程序员,小小的激将法怎么会激到我,但在京隔离期间实在太闲,就看了下东方财富的网站。真是不看不知道,一看吓一跳,这网站作的我口吐芬芳。程序员
抓取思路
咱们先看下这个网站的资金流向排行榜,里面有各大股市的股票资金数据github
炒股(韭菜)的都知道,若是一个股票的净流入大单不少,那说明股票涨,流入越大,涨的越多。因此关注一只股票的资金流向很重要,而东方财富专门有个资金流向的板块给咱们提供数据。因而抓取这个页面的资金流向数据就很关键,根据页面源码和抓包分析,进入这个网站时,会分配一个token。而表格中的数据是异步加载的,获取数据的请求中会带着这个token,因此咱们第一步要搞定这个token。根据页面中的表格咱们能够看到这个页面的数据进行了分页,每页50个,因此在抓取时须要根据分页循环抓取数据,直至尾页。spring
总结步骤:springboot
-
获取token异步
-
分页抓取网站
-
清洗数据blog
-
数据入库token
数据入库
给你们看看我最近爬下来的数据:
抓取的代码我直接写成了一个定时任务DFCFFundFlowCrawlerJob.java,你们能够直接复制到任何springboot工程中,直接运行就行,太长了,这里就不展现了。
github地址:https://github.com/chinashuai/crawler-stock-data-all