可能有些人没有接触过机器学习的内容,但是我所用的是比较简单的最近邻算法,而且特征表达方式也是基于网上某位大牛的特征表达方式,比较简单,感兴趣的可以换其他方法,但就我目前实验数据表明,百度指数的数据用该方法基本可以达到100%(百度指数图片比较单一),下面介绍该部分内容:

(六)手动标注训练样本

所谓的训练样本,在最近邻分类器中就是用于比较的数据,来一个数字与那个数字最接近,就属于那个数。由于百度指数的图片
中的相同数字基本上区别不大,所以每个数字选大概10个图片,加上逗号一共有11个类别,整理成如下所示:

(七)提取属性值

所谓属性值,就是能够表示图片的一组变量,对于切割完的图片,借用网上大牛的属性表达方式:
将一张图片划分为4个部分,计算每个部分中黑色
像素点的个数作为一个属性值,那样即可用一个4维的数组表示一张图片,下联给出代码:
  img = cv2.imread(path)gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)rate = [0, 0, 0, 0]x = gray_img.shape[0]y = gray_img.shape[1]for i in range(x):if i < x / 2:a = 0else:a = 1for j in range(y):if j < y / 2:b = 0else:b = 1index = a * 2 + bif (gray_img[i][j] < 70):rate[index] += 1

(七)最近邻算法

该算法理论上十分简单,即使算测试数据与上诉样本数据距离最近的即是它相同的类型数据。所谓距离,我用的是欧氏距离。
也就是上述求到的两个4维向量的欧式距离。代码如下所示:;
  train = xlrd.open_workbook("./split/strain.xlsx")sheet = train.sheet_by_name("a")distance = []clas = []for i in range(64):#64是训练样本的个数attr1 = int(sheet.cell(i,0).value)attr2 = int(sheet.cell(i, 1).value)attr3 = int(sheet.cell(i, 2).value)attr4 = int(sheet.cell(i, 3).value)c = int(sheet.cell(i, 4).value)d = (k[0]-attr1)*(k[0]-attr1)+(k[1]-attr2)*(k[1]-attr2)+(k[2]-attr3)*(k[2]-attr3)+(k[3]-attr4)*(k[3]-attr4)d = math.sqrt(d)distance.append(d)clas.append(c)index = distance.index(min(distance))return clas[index]

上述过程也就完成了数字的识别,识别率基本上可以达到100%。

 由于第一次写博客,还有许多不足之处,如果有错误的欢迎大家指出,如果有疑问可以在下面留言我会及时回复。

百度指数数据抓取Python+selenuim+OpenCV(三)相关推荐

  1. python爬关键词百度指数_Python 抓取指定关键词的百度指数

    百度指数很多时候在我们做项目的时候会很有帮助,从搜索引擎的流量端给到我们一些帮助,比如:家具行业的销量跟"装修","新房","二手房"等关键 ...

  2. 10-穿墙代理的设置 | 01.数据抓取 | Python

    10-穿墙代理的设置 郑昀 201005 隶属于<01.数据抓取>小节 我们访问 Twitter 等被封掉的网站时,需要设置 Proxy . 1.使用HTTP Proxy 下面是普通HTT ...

  3. python+按键精灵实现百度指数数据爬取

    百度指数本身已经很好用了,但是如果进行二次整理,需要把原始数据采集下来就不是那么方便了.网页的请求只有一次, 需要的具体数据随鼠标的移动变化,所以,常规的requests请求网页,解析网页并不能满足需 ...

  4. 百度指数批量抓取导出提取的工具开发历程

    (2022.6)汇总下指数提取网址: 1.百度指数批量提取 http://www.datasharehome.com/bdindex/order/ 2.股票代码.股票名称百度指数批量下载 http:/ ...

  5. python修改微信运动步数_微信运动数据抓取(Python)

    "微信运动"能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/person ...

  6. php天眼查数据抓取,python用xpath采集天眼查内容,有反爬,zip拼数据

    # -*- coding: utf-8 -*- """ 起始未登录有反爬,爬失败.策略:重新登录,并在headers中加入cookie,成功了. "" ...

  7. 数据抓取必须学会的三种技术

    我们正处于一个大数据的时代,在这样的一个以数据为王的时代,第一步就是如何获取数据.大概的流程是这样的:通过Http客户端获取html页面,通过html页面解析工具解析html页面,获取感兴趣的数据元素 ...

  8. python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  9. python类百度百科_Python抓取百度百科数据

    抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据.本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介. 分析目标:分析要抓取的url的格式,限定抓取范围.分析要抓 ...

最新文章

  1. 基于Annotation的输入校验
  2. redhat搭建NIS服务器
  3. python 通过shutil.move移动图片出错xe5\xb8\xb8\xe7
  4. ubuntu系统安装Anaconda与使用入门
  5. linux 调优篇 :硬件调优(BIOS配置)* 壹
  6. php 距离排序,php 附近由近到远排序查询
  7. 阿里小二的日常工作要被TA们“接管”了!
  8. 基于Tezos的算法稳定币Kolibri启动测试版
  9. [微信小程序]swiper保持宽高比
  10. 全角字符unicode码对应表
  11. Python3中的md5加密
  12. css内联样式外联样式嵌套样式区别
  13. 尚学堂马士兵linux教程之文件管理
  14. 从代码角度看CAN网络层协议 ISO 15765-2(一)
  15. FAT和FAT32文件系统的原理
  16. 万恶的android
  17. html上传动态图片不显示图片,解决 viewer.js 动态更新图片导致无法预览的问题
  18. 三种方法求最大公约数及求n个数的最小公倍数
  19. kali linux手机版下载免root,不需要root在安卓完全安装metasploit
  20. 5分钟带你看懂区块链浏览器

热门文章

  1. 基于JAVA德纳影城售票管理计算机毕业设计源码+系统+lw文档+部署
  2. Qt之CMake和MinGW编译OpenCV
  3. bios中只有windows boot manager下用U盘启动
  4. 生信-RPKM与FPKM学习[转载]
  5. Skia深入分析10——Skia库的性能与优化潜力
  6. 领峰:现货黄金行情的解读和分析要重视哪几点
  7. Log Parser 2.2 + Log Parser Lizard GUI 分析IIS日志示例
  8. 快速排序 Java模板
  9. 通用能力-判断推理,智力题等专项练习 02
  10. 基于Ambari搭建大数据平台