爬⾍抓取百度指数思路总结
百度指数抓取思路
浏览器截图+OCR识别,因为百度指数的数值是采⽤html格式+加密⼆进制传输,怎么都是需要OCR的。selenium获取cookie
浏览器截图:截取百度指数位置的⼦图⽚,截整个页⾯的图⽐较容易,要获取指数所在的span的位置,直接调⽤html的元素
的getSize和getLocation返回都是0,简单粗暴地⽤硬编码了。
OCR的时候,调⽤tesseract,识别数字,不需要安装额外的识别数据,直接调⽤tesseract test. -l eng -psm 7 digits就可以把识别结果输出到⽂本⽂件。⽤ocr把数字识别出来
⽤GooSeeker把图、css参数等等抓取下来,根据css的定位,把数字⼩图切下来,合⼀起交给ocr。
百度指数在显⽰每个点的指数的时候,会发送请求,这个请求相关的参数需要根据前⾯页⾯的返回结果来查,请求的结果也是HTML+加密图像数据,要识别还是需要OCR的。
1、⾸先得模拟登陆百度账号(⽤selenium+PhantomJS模拟登陆百度,获取cookie)
2、由于有该死的验证码,因此我们要绕过验证码,保存cookie模拟登陆(绕过万恶的验证码)
3、然后模拟登陆以后,程序截取屏幕保存到本地图⽚。(屏幕截屏)
4、读取本地图⽚。(读取图⽚)
5、到搜索指数所在区域,裁剪图⽚。(裁剪图⽚)
6、下⾯就是进⾏图像识别,或者说验证码识别了。(去灰度化,⼆值化,图像识别)
把⽣成的折线图表整图截图,然后进⾏图表识别。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。