python-百度API文字识别
创始人
2024-03-06 00:56:19
0

最近公司通过网络查询到我们部门有人工作时间逛b站次数太多,这事惊动了上层领导,搅得人心惶惶。突然星期某信服的一套监控员工电脑的系统,不经一颤。想着自己也尝试玩玩电脑屏幕文字识别-----抓取关键字,然后将图片保存下来。

这里将使用python,通过百度API识别电脑屏幕文字,并将含有关键字的截图保存下来。

一、百度API获取

1.进入百度云官网,先注册/登录,在首页顶端搜索文字识别,然后进入:
百度云官网
在这里插入图片描述
在这里插入图片描述
2.先领取免费的体验票,然后再创建应用(务必先“免费尝鲜”,再“创建应用”)
在这里插入图片描述
3.按要求填写“应用名称”和“应用描述”等信息。
4.记住三个参数AppID、API Key、Secret Key,后面代码中需要用到。
在这里插入图片描述

二、python代码实现

在晚上应用的创建后,接下来就可以编写代码了,在编写代码之前,需要安装几个Module:

pip3 install chardet
pip3 install pyautogui
pip3 install baidu-aip

接着就可以编写代码了,这里直接贴出:

import pyautogui
from datetime import datetime
import time
import os
from aip import AipOcrAPP_ID = '28704805'
API_KEY = 'YChehXrQqmV9c1pp48NziMWV'
SECRET_KEY = '4VmGz8Dt4NxjOIyEWdgXOIzPsXST9kFA'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)def pic_text_recognition(picname):with open(picname, 'rb') as fp:image = fp.read()dic_result = client.basicAccurate(image)print(dic_result)res = dic_result['words_result']result = ''for m in res:result += str(m['words'])return resultwhile True:# 截取电脑全屏img = pyautogui.screenshot()# 获取实时时间screen_time = datetime.now().strftime('%Y%m%d%H%M%S')png_name = screen_time + '.jpg'# 标记截屏时间img.save(png_name)try:string = pic_text_recognition(png_name)print(string)if string.index("离职"):print(png_name + "have key")else:print(png_name + " have no string2!")os.remove(png_name)except:print(png_name + " have no string1!")os.remove(png_name)# 截屏间隔时间(秒)time.sleep(10)

代码中,

APP_ID = '28704805'
API_KEY = 'YChehXrQqmV9c1pp48NziMWV'
SECRET_KEY = '4VmGz8Dt4NxjOIyEWdgXOIzPsXST9kFA'

为在百度云创建应用时给出的三个参数。

三、测试结果

运行代码,每过10s会获取当前屏幕截图,然后获取屏幕文字,检测这些文字中是否有“离职”的关键字,有的话,则保存接入,如果没有,则舍弃截图。
如下:
在这里插入图片描述
在这里插入图片描述

四、总结

1.如果你也用的是pycharm,而电脑里有很多个版本的python,且python不同版本安装时都是自定义安装目录,那么你有概率代码编译会报错没有某些Module,注意当前工程的编译环境配置,比如我电脑安装有两个版本的python,这里我使用的是python3.8。有关python不同版本的切换,请查看自己电脑的“环境变量”配置。
在这里插入图片描述
在这里插入图片描述
2.工作需要注意隐私!

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...