JAVA爬虫抓取百度指数思路总结


 做了一个多月的JAVA爬虫爬取百度指数的项目,发现出现了很多问题,总结如下:


抓取百度指数的整体思路:

 

1、首先得模拟登陆百度账号(用selenium+PhantomJS模拟登陆百度,获取cookie) 

2、由于有该死的验证码,因此我们要绕过验证码,保存cookie模拟登陆(绕过万恶的验证码) 

3、然后模拟登陆以后,程序截取屏幕保存到本地图片。(屏幕截屏) 

4、读取本地图片。(读取图片) 

5、找到搜索指数所在区域,裁剪图片。(裁剪图片) 

6、下面就是进行图像识别,或者说验证码识别了。(去灰度化,二值化,图像识别)

 

问题一:百度指数具体的数字竟然是图片!!!每一个数字竟然都是一个图片!显然,常规的思路已经无法驾驭百度指数了

解决思路: 采用Python的图像识别包来识别并爬取百度指数

 

 

问题二:因为他们的数字用图片显示的。还不是普通的图片,比如,12345,这串数字不是在图片上挨着显示的,而是在一张大背景图上,好多乱码,其中包含这5个数字,用css控制,把这5个数字按照顺序“露”出来。这样,OCR程序也犯难了。

解决思路:根据css的定位,把数字小图切下来,合一起交给ocr。图、css参数等等都能用GooSeeker抓取下来。再开发一个拼装程序就行了。

 

step1,定位

step2,截图

step3,OCR

 

思路就是浏览器截图+OCR识别,因为百度指数的数值是采用html格式+加密二进制传输,怎么都是需要OCR的

 

爬搜索指数,要解决3大技术问题:

1)模拟鼠标在图表上移动,让爬虫抓取悬浮出来的信息,要使用动态爬虫技术。

2)数字是图片格式的,而且不是完整的图片,要拼图。

3)要用ocr把数字识别出来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值