去年年底写的,最近想起来了分享一下,顺便复习一下思路.
要想实现全自动的百词斩,首先要截屏进行OCR,但是用安卓截屏连电脑延迟太高了,最后还是上了雷电模拟器,必须说python真是既方便又强大
上视频:

100行python实现全自动百词斩单词对战

需要的库:
关键步骤:

  1. 截屏,用PYQT5
  2. 图片处理 pillow(PIL)
  3. OCR 用百度API
  4. 搜索英文,统计中文选项在搜索页面里出现的次数
  5. 自动点击
    下面分别讲解

    PYQT5截屏

    PYQT5可以帮我们截取指定窗口的屏幕,这样我们就算添加链接描述去干别的也一样能跑
    获取指定窗口需要调用winapi

图片处理

我们需要雷电模拟器最大化,清晰度最高以提高OCR识别率,这是我们上一步截到的图片:

接下来我们需要对单词和选项分别进行裁剪,裁剪完拼接在一起(提高OCR准确率)

裁剪参数你可以慢慢调,我的拼接完成后的图片是这样的:

文字识别:


注意 APP_ID,API_KEY,SECRET_KEY,你需要到百度控制台里自己看自己的对应码然后填进去
返回的结果还不能直接用,我们需要处理一下
获得选项(第二行开始 所以是[1:]) 有的选项是这样的,我们取逗号前面的获得英文 拼接字符串得到搜索问题

之后统计搜索答案中中文出现的次数,headers你需要在百度页面按一下f12看看


这样我们就得到了如下的question 和answers:

接下来就是自动点击了:很简单 调参罢了


还不够全自动,一把游戏结束后我们还要让他自己开


放在循环里,就完事了
总共只有一百行代码,这就是python吗
最后,源码上传在github了,有需要的朋友自取

Fully-automatic-100-words-chopped-word-battle

python实现全自动百词斩单词对战,躺着上分轻轻松松相关推荐

  1. python目前版本强势英雄_王者荣耀S11赛季哪些英雄比较强势?哪些英雄上分厉害?...

    模拟战精品攻略和超强大神,来这给你安排的明明白白 [ 王者荣耀S11赛季和S10相比的话,最主要的变化就是推出了几件新装备,平衡了射手和坦克之间的关系,其它方面倒是未做太多改动.那么今天,小编为大家整 ...

  2. python统计句子中单词个数_【python统计单词数量】作文写作问答 - 归教作文网

    如何用python统计一个txt文件中某个单词出现的次数 1.首先,定义一个变量,保存要统计的英文文章. 2.接着,定义两个数组,保存文章中的单词,以及各单词的词频. 3.从文章中分割出所有的单词,保 ...

  3. Python基础实例——随机单词生成(仅单词)

    实例环境:日常的单词背诵是顺序的,为了检测单词背诵情况,需要对所背诵的单词随机排序,检测背诵效果. 原始文档格式:doc 原始文档内容形式(一共52个单词): 程序效果图: 第一步:将单词及释义存储为 ...

  4. 【Leetcode刷题Python】生词本单词整理

    1 题目 小A最近在努力学习英语.小A有一本生词本,专门用来记录见到的生词.每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上.经过几个月的学习之后,小A想对这个生词本上的单词进行整理. ...

  5. 学python应该掌握的英语单词怎么写_想学Python但是有好多英语单词不认识,Python的常见英语单词都在这儿...

    想学python但是有好多英文单词不认识怎么办? 以下是python代码编写和提示信息中的常用和常见的英文单词. 不需要背,看得多了用到的多了就熟悉了. 另外,我为大家准备了2020最新的学习资料,路 ...

  6. python中统计各个单词出现的次数使用方法_python统计文章中单词出现次数实例

    python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...

  7. Python文本处理:单词提取和统计,借助matplotlib绘图

    Python文本处理:单词提取和统计,借助matplotlib绘图 1.首先安装matplotlib绘图库 在电脑运行窗口输入cmd,右击命令提示符,以管理员身份运行. 在窗口输入:pip insta ...

  8. 猿创征文|为了学习英语,我开发了一个单词对战系统

    最近有的小伙伴,开始学英语了,但是背单词不方便. 于是小孟开发了一个单词系统. 大家在大学的时候,一定要增加动手能力. 大学学生之间的差距非常非常的. 大学和大学之间的差距巨大,例如985名校和普通双 ...

  9. Python判断两个单词的相似度

    本文要点在于算法的设计:如果两个单词中不相同的字母足够少,并且随机选择几个字母在两个单词中具有相同的前后顺序,则认为两个单词是等价的. 目前存在的问题:可能会有误判. from random impo ...

  10. educoder平台 python: 用字典实现单词识别

    实训目标 熟练地创建字典 熟练地通过键访问字典中的值 实训分析 本实训的完整单词包含7个,它们分别是Monday.Tuesday.Wednesday.Thusday.Friday.Saturday和 ...

最新文章

  1. 现在转行学习UI设计好不好就业
  2. python入门操作学习
  3. easyUI droppable组件使用
  4. 40个精美绝伦的国外网站设计作品范例(下)
  5. 一秒点击手机屏幕次数_手机电池不耐用,都怪这些充电坏毛病
  6. android8 呼吸灯,红米note8pro呼吸灯颜色如何设置?
  7. [MOSS开发]:带托管代码的infopath2007表单创建, 发布,应用
  8. markdown格式的文章如何转换为可以发布在微信公众号上的内容
  9. vs2005下使用ASPNetPage分页的例子1
  10. oracle字段id加1,oracle 字段ID自动增1
  11. 8 对象、类与面向对象编程
  12. 【车间调度】基于matlab NSGA-2算法求解多目标车间调度问题【含Matlab源码 071期】
  13. onTouch事件分发
  14. matlab求解非线性方程数值解,[转载]MATLAB求解非线性方程(转)
  15. ligerui combobox ajax,LigerUI中使用ligerComboBox生成多选下拉框
  16. 【vue】Layim 配置请求头参数
  17. 调用摄像头接口方法合集
  18. 关于@Vaild注解的使用
  19. 3台服务器+StarVCenter,搭建“超融合云平台”-完美体验-跑100台虚拟机
  20. FreeRtos(1)-----任务创建与管理

热门文章

  1. 什么是超大附件?邮箱的超大附件怎么打开?哪个邮箱发送附件大?
  2. 打印纸张尺寸换算_常用纸张的尺寸大小对照表
  3. Sketchup2019安装包安装教程
  4. NXP JN5169使用UART发送数据
  5. NXP JN5169 USB Dongle 原理图
  6. JN5169 NXP ZigBee PRO 无线网络应用所需的常见操作(一)
  7. UVa11137 - Ingenuous Cubrency
  8. Android为什么图片模糊不清,Android打开图库中图片为什么从模糊变清晰
  9. 深度学习-自然语言处理(NLP)-第三方库(工具包):Synonyms【更好的中文近义词、聊天机器人、智能问答工具包】
  10. 深度学习和机器学习研究方向与框架介绍