【读书每⽇⼀答辅助⼩程序】使⽤python对每⽇⼀答问题进⾏识别,并将
结果保存到剪贴板。。。
⽬录标题
  在腾讯收购阅⽂之后,读书的⽆限卡已经不能免费看书了,这时⽩嫖读书每⽇⼀答的书币成了不错的选择。严重偏科⼜⼿速垃圾的我在等级升⾼下逐渐⼒不从⼼,于是突然有了这个想法,写个能快速识别问题⽂字的⼩程序,因为现有的识别⽂字等程序(如QQ)会出现识别速度慢、⼿动框选识别区域的问题。
1 环境准备
系统:WIN10
python version:3.6
所需要的库:pyautogui,keyboard,PILLOW,baidu-aip
2 获取屏幕位置
  既然是对屏幕制定区域进⾏截图,必须要知道该区域在屏幕上的坐标,因此需要使⽤pyautogui⼤三⽅库,windows上不需要安装其他依赖模块。
print('Press Ctrl-C to quit.')
try:
while True:
# Get and print the mouse coordinates.
x, y = pyautogui.position()
positionStr ='X: '+str(x).rjust(4)+' Y: '+str(y).rjust(4)
print(positionStr, end='')
print('\b'*len(positionStr), end='', flush=True)
except KeyboardInterrupt:
#按ctrl+c结束程序
print('\nDone.')
3 指定区域屏幕截图
  需要使⽤PILLOW第三⽅库,安装⽅法⾃⾏百度。实现的操作是对制定区域截图,并保存到⽬标⽂件夹中,之后以⼆进制只读⽅式打开该图⽚,返回其结果。每次保存图⽚会⾃动覆盖之前的图⽚,具体代码如下:
from PIL import ImageGrab
def get_file_content():
#左上坐标点(x1,y1),右上坐标点(x2,y2),box = (x1,y1,x2,y2)
box =(1450,267,1850,365)
#截图
image = ab(box)
while True:
try:
#保存图⽚
filepath ="C:/Users/MAIBENBEN/Desktop/1.jpg"
image.save(filepath)
break
except:
continue
4 ⽂字识别
  在此需要⽤到百度AI开放平台⽂字识别技术,因此需要注册百度智能云账号/百度账号,注册过程⼗分简单,⼀分钟完成,具体步骤可以参考。
  为了使⽤该功能,需要安aidu-aip第三⽅库,很⼩巧且好⽤的⼀个库,识别速度很快,2秒左右。具体代码如下:
from aip import AipOcr
def word_identify():
#输⼊⾃⼰的应⽤的信息
APP_ID ='***'
API_KEY ='***'
SECRET_KEY ='***'
client= AipOcr(APP_ID, API_KEY, SECRET_KEY)
#读取图⽚信息,返回⼆进制结果
img = get_file_content()
#返回识别结果
res = client.basicGeneral(img)
print(res)
#返回识别结果中的⽂字信息
return''.join([word['words']for word in res['words_result']])
5 按键识别并保存到剪贴板
  实现功能为,当程序运⾏后,按下某键就进⾏截图和⽂字识别操作,按下某键退出程序,按其他键⽆反应,需要⽤到keyboard第三⽅库。还需将识别结果保存到剪贴板中,需要使⽤第三⽅库pyperclip。程序运⾏后按b键进⾏截图识别,按q键结束程序,具体代码如下:
import pyperclip
while True:
try:
print('Press and release a shortcut(b): ')
#捕捉按键状态
shortcut = ad_key()
print('Shortcut selected:', shortcut)
if shortcut =='b':
words = word_identify()
print(words)
#识别结果保存到剪贴板
elif shortcut =='q':
break
python怎么读的else:
continue
except KeyboardInterrupt:
#防⽌出现按ctrl+c结束程序的情况
print("\n")
continue
第⼀次⽤CSDN投稿,若代码有错误可在评论区交流。
最后,祝你⽩嫖开⼼!
PS:之后有时间可能会做如下更新:
  1.使⽤selenium模块⾃动打开浏览器进⾏搜索。
  2.对问题进⾏精细化处理,使其更便于搜索。
  3.⾃动捕获窗⼝坐标位置,在此基础上进⾏截图操作。  4.添加题库,从题库对⽐寻答案,没有则⾃⾏搜索。

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