网站首页 > 技术文章 正文
每天面对几十张带文字的截图、扫描件,手动打字提取到崩溃?别再浪费时间了!今天教你用 Python + 微信 OCR 搞个 "批量文字提取神器",百张图片扔进文件夹,喝杯咖啡的功夫就能自动导出可编辑文字,办公效率直接拉满。
一、为什么选微信 OCR?这 3 个优势绝了
提到 OCR 文字识别,你可能用过百度、腾讯的 API,但微信 OCR 藏着三个 "王炸" 优势:
- 免费无限制:不用申请 API 密钥,不扣调用次数,微信客户端自带的 OCR 引擎直接能用,个人办公完全够用。
- 识别精度高:对微信内常见的截图、表情包文字、手写体(连笔不严重的)识别率远超很多免费工具,亲测表格线、水印文字也能精准提取。
- 轻量化集成:通过wechat_ocr库直接调用微信底层能力,不用单独部署识别服务,几行代码就能跑通。
二、实战准备:3 分钟搭好环境
1. 必备工具清单
- 电脑端微信(版本 3.9.12.51 及以上,旧版本可能缺少 OCR 组件)
- Python 3.7+(推荐 3.9,兼容性最好)
- 两个关键文件夹:images(放待识别图片)、imageJson(存识别结果)
2. 安装核心库
打开命令提示符,一行代码搞定依赖:
bash
pip install wechat-ocr
如果安装失败,可能是缺少 C++ 编译工具,直接搜 "Microsoft C++ Build Tools" 下载安装,勾选 "Desktop development with C++" 即可。
三、核心代码拆解:5 步实现批量识别
直接上能跑的代码,每一步都标好了注释,新手也能看懂:
1. 导入工具库
python
import os # 处理文件路径
import json # 保存识别结果为JSON
import time # 控制识别间隔
from wechat_ocr.ocr_manager import OcrManager, OCR_MAX_TASK_ID # 微信OCR核心工具
2. 配置关键路径
这一步是新手最容易踩坑的地方,必须仔细看:
python
# 微信OCR引擎路径(重点!找到自己电脑里的WeChatOCR.exe)
wechat_ocr_dir = r"C:\Users\admin\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\7079\extracted\WeChatOCR.exe"
# 微信安装路径(默认在Program Files,根据自己的位置改)
wechat_dir = r"D:\Program Files (x86)\Tencent\WeChat\[3.9.12.51]"
\#\]
六、进阶玩法:从识别到自动化办公
识别完文字只是第一步,真正的效率提升在于把结果变成可直接用的办公素材。分享 3 个立即可用的进阶技巧,帮你把工具变成 “全自动文字处理流水线”。
1. 一键提取关键信息(比如合同里的金额、日期)
识别后的 JSON 文件里藏着所有文字,但我们往往只需要手机号、金额、日期这类关键信息。用正则表达式(re库)就能自动 “抓” 出来:
python
import re
import json
def extract_key_info(json_path):
# 打开识别结果JSON
with open(json_path, 'r', encoding='utf-8') as f:
result = json.load(f)
full_text = result["text"] # 获取全部文字
# 用正则匹配关键信息
phone = re.findall(r'1[3-9]\d{9}', full_text) # 手机号
money = re.findall(r'¥?\d+\.?\d*万?', full_text) # 金额(支持带¥或万字)
date = re.findall(r'\d{4}年\d{1,2}月\d{1,2}日', full_text) # 日期
return {
"文件名": json_path.split("\\")[-1],
"手机号": phone[0] if phone else "未找到",
"金额": money[0] if money else "未找到",
"日期": date[0] if date else "未找到"
}
# 批量处理所有JSON结果
info_list = []
for json_file in os.listdir(output_json_dir):
if json_file.endswith(".json"):
json_path = os.path.join(output_json_dir, json_file)
info = extract_key_info(json_path)
info_list.append(info)
# 结果存到Excel(用pandas)
import pandas as pd
df = pd.DataFrame(info_list)
df.to_excel("关键信息汇总.xlsx", index=False)
比如处理 100 份合同扫描件,原本需要逐字找金额和日期,现在跑一遍脚本,2 分钟就能得到带所有关键信息的 Excel 表,再也不用盯着屏幕瞎瞅了。
2. 自动生成 Word 报告(把图片文字变成正式文档)
如果需要把识别的文字整理成规范格式的 Word(比如会议纪要、报销说明),可以用python-docx库自动排版:
python
from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
def text_to_word(text, save_path):
doc = Document()
# 设置字体为宋体
doc.styles['Normal'].font.name = u'宋体'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
doc.styles['Normal'].font.size = Pt(12) # 字号12
# 按换行分割文字,逐行写入
for line in text.split("\n"):
if line.strip(): # 跳过空行
doc.add_paragraph(line)
doc.save(save_path)
# 调用示例(从JSON取文字生成Word)
json_path = "./imageJson/会议记录1.json"
with open(json_path, 'r', encoding='utf-8') as f:
result = json.load(f)
text_to_word(result["text"], "./会议记录1.docx")
识别完的截图文字,直接变成带格式的 Word,连排版时间都省了,适合经常需要 “把图片转文档” 的场景。
3. 定时批量处理(每天自动识别新图片)
如果每天都有新图片需要处理(比如前台每天收到的扫描件),可以用schedule库设置定时任务,让脚本每天自动跑:
python
import schedule
import time
def auto_ocr():
print("开始自动识别新图片...")
main() # 调用前面写的主函数
print("今日识别完成!")
# 设置每天下午5点自动运行
schedule.every().day.at("17:00").do(auto_ocr)
# 保持运行
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
把脚本放在服务器或开机启动项里,从此不用手动点运行,每天下班前自动搞定所有图片识别,第二天上班直接拿结果。
七、最后说句掏心窝的话
办公自动化的核心不是 “写代码”,而是 “偷懒的智慧”—— 把重复 3 次以上的工作电脑,自己去做更有价值的事。
这个微信 OCR 批量识别工具,本质上是 “借微信的力,省自己的时”。不用花钱买会员,不用学复杂的 AI 模型,几行代码就能解决 “图片转文字” 的老大难问题。
如果你今天跟着步骤跑通了代码,不妨试试改改路径,加个自己需要的功能(比如识别后自动发邮件);如果遇到报错,先检查路径是否正确(90% 的问题都出在这),再看看微信是不是最新版。
最后送一句:真正的效率提升,从 “今天花 1 小时学工具,明天省 10 小时干活” 开始。现在就打开编辑器,把你的第一张图片扔进images文件夹试试吧 —— 毕竟,亲手跑通的代码,才是自己的本事。
识感谢关注【AI码力】,学习更多Python知!
猜你喜欢
- 2025-08-02 python学习教程-第九节内容(函数、模块、包)
- 2025-08-02 一文讲清怎么利用Python Django实现Excel数据表的导入导出功能
- 2025-08-02 彻底搞懂Python 中的 import 与 from import
- 2025-08-02 告别重复劳动!用Python轻松实现办公自动化(零基础入门)
- 2025-08-02 Pycharm导入python项目
- 2025-08-02 Python接口自动化之常见用例读取方法介绍
- 2025-08-02 用Python开发一个可调用工具的AI Agent,实现电脑配置专业评价
- 2025-08-02 Python魔法文件:__init__.py全面解析
- 2025-08-02 Python 文件操作与读取:从基础到进阶的全面指南
- 2025-08-02 栋察宇宙(二十一):Python 文件操作全解析
- 08-06生产环境中使用的十大 Python 设计模式
- 08-06面试必备:Python内存管理机制(建议收藏)
- 08-06服务端开发面试必背——消息队列及它的主要用途和优点。附代码
- 08-06Python 栈:深度解析与应用
- 08-06Python中的多进程
- 08-06Python Logging 最佳实践
- 08-06Python并发数据结构实现原理
- 08-06用SendGrid和Redis队列用Python调度国际空间站的电子邮件
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)