是谁,是谁在网页上搜索往年考试卷题+答案的时候只能阅读前两页的选择题,是谁在搜几千字的文档资料只能看25%,是谁在百度文库找七找八的时候所有的东西都要付费才能继续看…
我先说 是我自己
我又不经常用,只有偶尔需要看看,还要我掏钱包,我说不行,绝对不行
什么都行 谈钱不行
咱没钱,咱有技术,直接让python帮我
今天就来分享下
用Python实现某du文库vip内容下载, 保存到word文档
发送请求, 模拟浏览器对于url地址发送请求图片数据包:
获取数据, 获取服务器返回响应数据
开发者工具: response
解析数据, 提取图片链接地址
保存数据, 把图片内容保存到本地文件夹
做文字识别, 识别文字内容
把文字数据信息, 保存word文档里面
导入数据请求模块 import requests
导入格式化输出模块 from pprint import pprint
导入base64 import base64
导入os模块 import os
导入文档模块 from docx import Document
导入正则 import re
导入 json import json
源码.点击.领取.即可
# 确定请求链接
url = 'https://*****.com/gsearch/rec/pcviewdocrec'
# 请求参数
data = {
'docId': docId,
'query': name,
'recPositions': ''
}
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
#发送请求
response = requests.get(url=url, params=data, headers=headers)
# <Response [200]> 响应对象, 200 表示请求成功
print(response)
开发者工具: response
sponse.json() 获取响应json字典数据, 但是返回数据必须是完整json数据格式 花括号 {}
esponse.text 获取响应文本数据, 返回字符串 任何时候都可以, 但是基本获取网页源代码的时候
response.content 获取响应二进制数据, 返回字节 保存图片/音频/视频/特定格式文件
print(response.json()) 打印字典数据, 呈现一行
pprint(response.json()) 打印字典数据, 呈现多行, 展开效果
字典取值: 键值对 根据冒号左边内容[键], 提取冒号右边的内容[值]
# 定义文件名 整型
num = 1
# for循环遍历, 把列表里面元素一个一个提取出来
for index in response.json()['data']['relateDoc']:
# index 字典呀
pic = index['pic']
print(pic)
# img_content = requests.get(url=pic, headers=headers).content
# # 'img\\'<文件夹名字> + str(num)<文件名> + '.jpg'<文件后缀> mode='wb' 保存方式, 二进制保存
# # str(num) 强制转换成 字符串
# # '图片\\' 相对路径, 相对于你代码的路径 你代码在那个地方, 那个代码所在地方图片文件夹
# with open('图片\\' + str(num) + '.jpg', mode='wb') as f:
# # 写入数据 保存数据 把图片二进制数据保存
# f.write(img_content)
# # 每次循环 + 1
# print(num)
# num += 1
文字识别:
python学习交流Q群:690643772 ### 源码领取
def get_content(file):
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://*****comp'
response = requests.get(host)
access_token = response.json()['access_token']
'''
通用文字识别(高精度版)
'''
request_url = "https://********.com/rest/2.0/ocr/v1/accurate_basic"
# 二进制方式打开图片文件
f = open(file, 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
json_data = requests.post(request_url, data=params, headers=headers).json()
# 列表推导式
words = '\n'.join([i['words'] for i in json_data['words_result']])
return words
content_list = []
files = os.listdir('img\\')
for file in files:
filename = 'img\\' + file
words = get_content(file=filename)
print(words)
content_list.append(words)
doc = Document()
content = '\n'.join(content_list)
doc.add_paragraph(content)
doc.save('data.docx')
今天的分享到这里就结束了 有问题的宝子可以评论区留言,或者点击末尾名片进行交流学习哦