十一在家陪孩子,过去一年,因为百度指数抓取那篇文章,很多人添加我的QQ询问百度指数抓取的事情,趁着有点闲心,就把批量全自动抓取趋势给做了。这次改用Python了,屈屈200行代码,搞定登录,查询,截图保存,识别,差值估算。现在程序可以全自动抓取一个词最近三十天的百度指数趋势,采用的预估模式。

要进一步扩展到多词,更细的时间力度,都很容易。

几个关键点如下
1. 使用selenium + chromedriver来获取百度指数的页面,这里有个坑,chromedriver每次都是全新的配置访问,每次使用百度指数的都需要输入用户名密码和验证码,没有验证码还好,有了验证码,为了实现全自动,chromedriver启动需要每次指定同一个用户数据目录,这样,登录一次,以后就不需要登陆了,直接启动chrome就可以直接访问了。
这里的核心代码是
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=C:\\SomeWhere")
browser = webdriver.Chrome(chrome_options=options)

2. 无论是估算还是精确计算,都需要用到selenium的截图+tesseract的ocr。截图很容易。OCR会遇到一些麻烦
OCR我遇到的问题是,百度的数字,直接截图,然后ocr
pytesseract.image_to_string(img, lang="eng", config="-psm 7 baiduidx")
总是分不清5和6,0也经常识别不出来。识别率远低于50%,基本不可用。
(baiduidx是我自己仿照digits写的配置,只保留数字部分。)
经过多次尝试分析,百度的数字是一个像素粗细,5和6非常接近,只是左边一个像素的差别,因此OCR识别有困难。解决方案就是使用PIL对图形进行放大,灰度化,二值化,然后识别率100%

3. 预估的方法其实比较简单,就是找到右侧的7个坐标,自动识别,从而确定图像区域对应的最大值和最小值。找曲线,就按照固定的颜色找就行,根据曲线所在Y轴像素坐标,插值计算出对应的百度指数,大概有个1%左右的误差,其实百度指数也不是那么精确地,也是统计估算。

4. 下次有空了,再把精确识别也做了,基本思路有了,就是selenium模拟鼠标操作,然后从div里找到显示的文字,截图,然后ocr。 (百度用的一张数字打碎的图片做css背景,然后用css坐标来拼这个数字,截图+OCR是最有效的了)

不把代码贴上来,主要是防止太多人抓取百度,导致百度指数再次升级,使得自动抓取又要维护,又麻烦。愿意交流的欢迎加QQ齐齐死要久而吧QQ

百度指数抓取-趋势截图+估算方法相关推荐

  1. python爬关键词百度指数_详解python3百度指数抓取实例

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

  2. http下载异常_百度网站抓取异常的原因有哪些?有什么影响和解决方法?

    大纲如下:1.抓取异常是什么?百度抓取异常又是什么?2.百度抓取异常的原因有哪些?3.网站抓取异常的原因有哪些?4.百度抓取异常对网站有什么影响?5.网站出现抓取异常的解决方法抓取异常是什么?百度抓取 ...

  3. php 让百度蜘蛛抓取403,百度蜘蛛不抓取页面的解决方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们都知道我们网站的页面要想被百度收录必须经过百度蜘蛛的抓取,因此我们要经常关注我们网站页面被抓取的情况,如果遇到不被抓取的情况,那么就要引起我们的注意, ...

  4. php 让百度蜘蛛抓取403,百度蜘蛛抓取不存在目录 对应的解决方法

    相信大家在分析百度蜘蛛日志的时候经常会发现一个问题,就是百度蜘蛛经常会抓取一些不存在的目录,比如:我网站没有这些目录,但是百度蜘蛛一直在抓取,或者你会发现百度蜘蛛在抓取自己的隐私目录,或者说php文件 ...

  5. 【Python爬虫】百度指数爬取+导入数据库+QuickBI展示

    百度指数爬取原文在这里:如何用Python下载百度指数的数据_小小明-代码实体的专栏-CSDN博客 00.序言 一直想把百度指数每天定时爬下来,然后放到Dashboard里展示,终于,我看到了大神给出 ...

  6. python的web抓取_python实现从web抓取文档的方法

    本文实例讲述了Python实现从Web的一个URL中抓取文档的方法,分享给大家供大家参考.具体方法分析如下: 实例代码如下: import urllib doc = urllib.urlopen(&q ...

  7. 抓取百度页面html,百度会抓取页面代码中的注释内容吗

    百度会抓取页面代码中的注释内容吗 内容导读:百度会抓取页面代码中的注释内容吗?答案是百度会抓取,但是在提取正文的时候会直接忽略掉,也就是说页面代码的注释内容不会影响到页面质量,所以大家尽管放心. 问题 ...

  8. 小牛地图矢量抓取工具_SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取...

    SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取 一.全部链接真实有效. 地图的主要目的是方便搜索引擎蜘蛛抓取的,如果地图存在死链,会影响网站在搜索引擎中网站权重的,要仔细检查有无 ...

  9. php通过函数怎么禁止百度蜘蛛抓取,怎么屏蔽百度蜘蛛抓取网站?

    百度蜘蛛抓取我们的网站是希望将我们的网页收录到它的搜索引擎里,未来当用户搜索时,能为我们带来一定的SEO流量.当然我们并不是希望搜索引擎什么都抓取. 所以,这时我们只希望我们希望在搜索引擎被搜索到的内 ...

  10. Android系统(118)---Android抓取各种log的方法

    Android抓取各种log的方法 转自 http://blog.csdn.net/matthewei6/article/details/50596983 1.logcat (四类log buffer ...

最新文章

  1. Plant Com:中科院遗传发育所白洋组开发定量检测宿主微生物组的HA-QAP技术(王二涛点评)...
  2. [转]ASP.NET 核心模块配置参考
  3. N天学习一个linux命令之lsof
  4. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
  5. mac系统下git、mysql、nginx、php的环境搭建
  6. oracle10G rac 10.2.0.1升级10.2.0.4
  7. Hadoop学习之Hadoop集群的定制配置(二)
  8. Spark天堂之门解密
  9. VB.net SP1 的兼容性问题
  10. 从“做什么”到“怎么做”,说说一只蚊子
  11. Reporting service 技巧
  12. excel筛选排序从小到大_Excel按颜色排序或筛选
  13. 运筹学_化标准型_week2
  14. scrapy爬取阳光政务投诉
  15. mac 桌面不显示东西
  16. mysql gbk排序规则_Mysql 字符集及排序规则
  17. XX^{T} 和 X^{T}X 的关系
  18. easyexcel表头和内容居中
  19. CentOS 7 安装教程
  20. 软考 程序员教程-第三章 数据库基础知识

热门文章

  1. 计算机中的文件及文件命名规则,文件名的命名规则是什么
  2. windows无法启动计算机上,windows无法启动解决方法汇总
  3. hihocoder 1257 Snake Carpet
  4. Eclipse官方下载及配置流程
  5. 修改windows 7的双系统启动菜单
  6. linux 多核 双系统,Linux GRUB实现双系统引导教程
  7. ET6.0服务器框架学习笔记(一、启动配置)
  8. Vue 中使用 codemirror
  9. wifi密码破解软件,谨慎使用!
  10. 作业收集小程序推荐|视频作业收集、图片作业收集、文档作业收集