用python搭建百万答题、自动百度搜索答案。

使用平台

windows7

python3.6

MIX2手机

代码原理

手机屏幕内容同步到pc端

对问题截图

对截图文字分析

用浏览器自动搜索文本

使用教程

1、使用Airdroid 将手机屏幕显示在电脑屏幕上。也可使用360手机助手实现。不涉及任何代码。实现效果如图:

2、在提问出现时,运行python程序,将问题部分截图。

这里要用到两个函数:

get_point() #采集要截图的坐标,以及图片的高度宽度

window_capture() #截图

def get_point():

'''''采集坐标,并返回w,h,x,y。 作为window_capture() 函数使用'''

try:

print('正在采集坐标1,请将鼠标移动到该点')

# print(3)

# time.sleep(1)

print(2)

time.sleep(1)

print(1)

time.sleep(1)

x1,y1 = pag.position() #返回鼠标的坐标

print('采集成功,坐标为:',(x1,y1))

print('')

# time.sleep(2)

print('正在采集坐标2,请将鼠标移动到该点')

print(3)

time.sleep(1)

print(2)

time.sleep(1)

print(1)

time.sleep(1)

x2, y2 = pag.position() # 返回鼠标的坐标

print('采集成功,坐标为:',(x2,y2))

#os.system('cls')#清除屏幕

w = abs(x1 - x2)

h = abs(y1 - y2)

x = min(x1, x2)

y = min(y1, y2)

return (w,h,x,y)

except KeyboardInterrupt:

print('获取失败')

def window_capture(result,filename):

'''''获取截图'''

#宽度w

#高度h

#左上角截图的坐标x,y

w,h,x,y=result

hwnd = 0

hwndDC = win32gui.GetWindowDC(hwnd)

mfcDC = win32ui.CreateDCFromHandle(hwndDC)

saveDC = mfcDC.CreateCompatibleDC()

saveBitMap = win32ui.CreateBitmap()

MoniterDev = win32api.EnumDisplayMonitors(None,None)

#w = MoniterDev[0][2][2]

# #h = MoniterDev[0][2][3]

# w = 516

# h = 514

saveBitMap.CreateCompatibleBitmap(mfcDC,w,h)

saveDC.SelectObject(saveBitMap)

saveDC.BitBlt((0,0),(w,h),mfcDC,(x,y),win32con.SRCCOPY)

saveBitMap.SaveBitmapFile(saveDC,filename)

运行后截图如下

3.对图片文字分析提取

代码部分:

def orc_pic():

#识别中文

text=pytesseract.image_to_string(Image.open('jietu.jpg'),lang='chi_sim')

#识别英文

# text=pytesseract.image_to_string(Image.open('jietu.jpg'))

text = ''.join(text.split())

return text

4.对文本进行搜索

#浏览器搜索

url = 'http://www.baidu.com/s?wd=%s' % text

webbrowser.open(url)

所有代码如下:

#coding:'utf-8'

import win32gui, win32ui, win32con, win32api

from PIL import Image

import pytesseract

import webbrowser

#先下载pyautogui库,pip install pyautogui

import os,time

import pyautogui as pag

#获取sdk http://ai.baidu.com/。

#获取aip pip install git+https://github.com/Baidu-AIP/python-sdk.git@master

from aip import AipOcr

import json

status=0

""" 你的 APPID AK SK """

APP_ID = '****'

API_KEY = '***'

SECRET_KEY = '***'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """

def get_question(path):

'''百度识别图片文字'''

with open(path, 'rb') as fp:

image=fp.read()

res = client.basicGeneral(image)

words = res['words_result']

lines = [item['words'] for item in words]

question = ''.join(lines)

if question[1] == '.':

question = question[2:]

elif question[2] == '.':

question = question[3:]

return question.replace('?', ' ')

#采集坐标

def get_point():

'''采集坐标,并返回w,h,x,y。 作为window_capture() 函数使用'''

try:

print('正在采集坐标1,请将鼠标移动到该点')

# print(3)

# time.sleep(1)

print(2)

time.sleep(1)

print(1)

time.sleep(1)

x1,y1 = pag.position() #返回鼠标的坐标

print('采集成功,坐标为:',(x1,y1))

print('')

# time.sleep(2)

print('正在采集坐标2,请将鼠标移动到该点')

print(3)

time.sleep(1)

print(2)

time.sleep(1)

print(1)

time.sleep(1)

x2, y2 = pag.position() # 返回鼠标的坐标

print('采集成功,坐标为:',(x2,y2))

#os.system('cls')#清除屏幕

w = abs(x1 - x2)

h = abs(y1 - y2)

x = min(x1, x2)

y = min(y1, y2)

return (w,h,x,y)

except KeyboardInterrupt:

print('获取失败')

#获取截图

def window_capture(result,filename):

'''获取截图'''

#宽度w

#高度h

#左上角截图的坐标x,y

w,h,x,y=result

hwnd = 0

hwndDC = win32gui.GetWindowDC(hwnd)

mfcDC = win32ui.CreateDCFromHandle(hwndDC)

saveDC = mfcDC.CreateCompatibleDC()

saveBitMap = win32ui.CreateBitmap()

MoniterDev = win32api.EnumDisplayMonitors(None,None)

#w = MoniterDev[0][2][2]

# #h = MoniterDev[0][2][3]

# w = 516

# h = 514

saveBitMap.CreateCompatibleBitmap(mfcDC,w,h)

saveDC.SelectObject(saveBitMap)

saveDC.BitBlt((0,0),(w,h),mfcDC,(x,y),win32con.SRCCOPY)

saveBitMap.SaveBitmapFile(saveDC,filename)

def get_point_txt(status):

#如果status=y,则重新获取坐标

'''如果存在point.txt,则询问是否重新采集,删除point.txt;如果不存在txt,则直接采集。'''

if not os.path.isfile('point.txt') :

result = get_point()

with open('point.txt', 'w') as f:

f.write(str(result))

return result

else:

if status=='y':

result = get_point()

with open('point.txt', 'w') as f:

f.write(str(result))

return result

else:

with open('point.txt', 'r') as f:

result = f.readline()

result = eval(result)

return result

def orc_pic():

#识别中文

text=pytesseract.image_to_string(Image.open('jietu.jpg'),lang='chi_sim')

#识别英文

# text=pytesseract.image_to_string(Image.open('jietu.jpg'))

text = ''.join(text.split())

return text

#百度识别

def orc_baidu():

text=get_question('jietu.jpg')

return text

status='y'

start = time.time()

result=get_point_txt(status)

for i in range(10):

window_capture(result,'jietu.jpg')

# text=orc_baidu()

text=orc_pic()

print(text)

#浏览器搜索

url = 'http://www.baidu.com/s?wd=%s' % text

webbrowser.open(url)

# url2='https://www.google.com/search?q=%s' % text

# webbrowser.open(url2)

end = time.time()

time=end-start

print('此次耗时%.1f秒' % time)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

可以搜python题答案的app-python实现百万答题自动百度搜索答案相关推荐

  1. 可以搜python编程答案的软件_python实现百万答题自动百度搜索答案

    用python搭建百万答题.自动百度搜索答案. 使用平台 windows7 python3.6 MIX2手机 代码原理 手机屏幕内容同步到pc端 对问题截图 对截图文字分析 用浏览器自动搜索文本 使用 ...

  2. python根据题库答案自动答题_python实现百万答题自动百度搜索答案

    用python搭建百万答题.自动百度搜索答案. 使用平台 windows7 python3.6 MIX2手机 代码原理 手机屏幕内容同步到pc端 对问题截图 对截图文字分析 用浏览器自动搜索文本 使用 ...

  3. python答题搜索_python实现百万答题自动百度搜索答案

    用python搭建百万答题.自动百度搜索答案. 使用平台 windows7 python3.6 MIX2手机 代码原理 手机屏幕内容同步到pc端 对问题截图 对截图文字分析 用浏览器自动搜索文本 使用 ...

  4. 用python搭建 百万答题 、自动百度搜索答案

    使用平台 windows7 python3.6 MIX2手机 代码原理 手机屏幕内容同步到pc端 对问题截图 对截图文字分析 用浏览器自动搜索文本 使用教程 使用Airdroid 将手机屏幕显示在电脑 ...

  5. python爬取百度搜索答案题目和摘要

    url就自行构造吧 # coding:utf-8 import urllib2 import re from bs4 import BeautifulSoup url = 'http://www.ba ...

  6. 1000道Python题库系列分享十二(9道编程题)

    上期题目连接:1000道Python题库系列分享十一(9道) 上期题目答案: 本期题目: ---------董付国老师Python系列教材-------- 1)<Python程序设计(第2版)& ...

  7. python 100days github_GitHub - rghwer/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人,光靠我自己已经无法及时处理小伙伴们的入群申请,更无 ...

  8. python 100days github_GitHub - 596861134/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴申请单独加我微信和QQ,因为我自己平时也很忙,没办法一一解答大家的问题,我创建了Python100天学习交流7群 ...

  9. python 100days github_GitHub - fxianchao/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴单独加我微信和QQ,因为我自己平时也很忙,没办法一一解答大家的问题,我创建了Python100天学习交流8群(之 ...

最新文章

  1. Linux 守护进程,编写(转载)
  2. Silverlight 2 Beta 1, IE 8 Beta 1, ASP.NET MVC 预览版2 可以下载了 - 思归呓语 - 博客堂
  3. window.opener 的用法
  4. 总结了点React,咱也不敢说
  5. Oracle 12C 多种方式创建PDB
  6. MYSQL中用正则筛选一定的数据
  7. selenium webdriver模拟鼠标键盘操作
  8. 阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...
  9. Doris之BE的所有配置项(全面)
  10. 从数据治理、数据资产管理,到数据中台的落地实战!
  11. Linux安全模块(LSM)入门及Yama源码分析
  12. pythonmath库阶乘函数_Python--math库
  13. 计算机u盘设备无法启动不了,U盘不能识别,该设备无法启动。(代码10)
  14. python-pptx替换ppt模板的文本
  15. 各种软件开发方向和前景
  16. 实战十四:基于线性回归预测环境空气质量 代码+数据
  17. 经历≠经验,码农如何工作10年依然是菜鸟?
  18. 南方周末:史玉柱脑白金式网游重建巨人(转载)
  19. 51单片机汇编指令记忆方法
  20. 公有云在发展,存储卖得更好了

热门文章

  1. 不用找,你想要的卡车 SolidWorks模型素材都在这里
  2. 祭奠被消亡的CSDN文章
  3. PhotoShop算法实现进阶-浮雕滤镜-灰度浮雕(三十一)
  4. .考试倒计时44天!来提分啦!
  5. 实用selenium+python实现web自动化测试
  6. 欧盟CE公告号-外贸人不得不了解的通关证书
  7. python控制qq群_Python3 selenium 实现QQ群接龙自动化功能
  8. 家禽也能有身份,XFS在畜牧业落地
  9. 《动手学深度学习》学习之路01-- Kaggle⽐赛:房价预测
  10. 如何把illustrator圆圈5等分?