目录标题
- 前言
- 开发环境:
- 模块使用:
- 代码实现步骤:
- 代码展示
- 尾语
前言
嗨喽~大家好呀,这里是魔王呐 ❤ ~!
开发环境:
-
python 3.8
-
pycharm
模块使用:
-
requests --> pip install requests
-
re
-
json
-
time
-
base64
-
docx --> pip install python-docx
第三方模块安装:
win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)
代码实现步骤:
-
发送请求, 模拟浏览器对于url地址发送请求
-
获取数据, 获取服务器返回响应数据
-
解析数据, 提取我们需要的内容 --> 图片链接
-
保存数据, 把图片内容保存
-
文字识别, 提取文字内容
-
文字写入word文档
python资料、源码、教程\福利皆: 点击此处跳转文末名片获取
代码展示
# 导入数据请求模块
import requests
# 导入正则表达式
import re
# 导入json
import json
# 导入时间模块
import time
import base64
import docx
"""
文字识别:百度云API接口 --> 免费领取资源的1. 注册登陆2. 选择文字识别3. 创建应用 领取资源4. 进入API文档- 获取token- 复制API代码
"""
doc = docx.Document()def Content(content):""":param content: 图片二进制数据:return:"""url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxx&client_secret=xxxx"payload = ""headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)access_token = response.json()['access_token']print(access_token)'''通用文字识别(高精度版)'''request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"img = base64.b64encode(content)params = {"image":img}request_url = request_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}json_data = requests.post(request_url, data=params, headers=headers).json()words_result = '\n'.join([i['words'] for i in json_data['words_result']])print(words_result)return words_result"""
1. 发送请求, 模拟浏览器对于url地址发送请求
"""
# 模拟浏览器 --> 请求头, 直接复制
headers = {# 完整源码、解答、教程皆+VX:Python5180 记得验证备注AAA'Cookie': 'CLIENT_SYS_UN_ID=3rvhLGQlZ5CsGW2eHpmuAg==; __yjs_duid=1_0ce66bf3ca7c2306ce5da72ade1b4ba11685945826433; s_v=cdh%3D%3E27a30245%7C%7C%7Cvid%3D%3E1685945827928042385%7C%7C%7Cfsts%3D%3E1685945827%7C%7C%7Cdsfs%3D%3E25%7C%7C%7Cnps%3D%3E2; s_rfd=cdh%3D%3E27a30245%7C%7C%7Ctrd%3D%3Emax.book118.com%7C%7C%7Cftrd%3D%3Ebook118.com; s_s=cdh%3D%3E27a30245%7C%7C%7Clast_req%3D%3E1688127125%7C%7C%7Csid%3D%3E1688124093504555434%7C%7C%7Cdsps%3D%3E25','Host': 'openapi.book118.com','Pragma': 'no-cache','Referer': 'https://*****/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
}
for page in range(1, 14, 6):time.sleep(2)# 请求链接url = 'https://openapi.book118.com/getPreview.html'# 请求参数 --> 缩进 tab 取消缩进 shift+tab 复制当前行crtl + Ddata = {'project_id': '1','aid': '569535184','t': '8684559560dd49bd42aeb2e85b6d6f06','view_token': 'qKyQHm9Lw@hAGeaC16lOgvTEUQeFscw1','page': page,'filetype': 'docx',# 'callback': 'jQuery183015452790725275278_1688127062003','_': '1688127520232',}# 发送请求response = requests.get(url, params=data, headers=headers)"""2. 获取数据, 获取服务器返回响应数据response.text 获取响应的文本数据3. 解析数据, 提取我们需要的内容 --> 图片链接re.findall('数据', '地方') 找到所有数据从什么地方, 去匹配找寻什么数据re.findall('jsonpReturn\((.*?)\)', response.text)\ 转义字符, 把含有特殊意义字符,转义成本身以外, 不含有其他特殊意义() 精确匹配.*? --> 可以匹配任意字符串 除了\n换行符正则匹配的数据, 返回列表"""html_data = re.findall('jsonpReturn\((.*?)\)', response.text)[0]# 转成字典数据json_data = json.loads(html_data)for link in json_data['data'].values():link = 'https:' + link# 有时候加伪装可能还不到数据 <请求头参数加多了>img = requests.get(link).contentwords = Content(img).replace('原创力文档', '').replace('max.book118.com', '').replace('下载高清无水印', '')print(words)# 写入内容doc.add_paragraph(words)doc.save('大学生电子商务实习报告.docx')
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。