【python】采集文库VIP数据并保存PDF,再不为钱发愁
前言
是谁!!在搜几千字的文档资料只能看25%…
是谁!!在百度文库找七找八的时候所有的东西都要付费才能继续看…
是谁!!是谁在网页上搜索往年考试卷题+答案的时候只能阅读前两页的选择题…
原来是我自己~我又不经常用,只有偶尔需要看看,还要我掏钱包,我说不行,绝对不行
什么都行 谈钱不行!!!咱没钱,咱有技术,直接让python帮我
今天就来分享下 ?? 用Python实现某du文库vip内容下载, 保存到word文档
素材、视频、代码、插件安装教程我都准备好了,直接在文末名片自取就可点击此处跳转
环境使用
-
解释器版本 >>> python 3.8
-
代码编辑器 >>> pycharm 2021.2
模块使用
-
requests >>> 数据请求模块 需要安装
-
docx >>> 文档保存 需要安装
-
re 内置模块 不需要安装
如果安装python第三方模块:
-
win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
-
在pycharm中点击Terminal(终端) 输入安装命令
代码实现步骤
-
发送请求, 模拟浏览器对于url地址发送请求图片数据包:
-
获取数据, 获取服务器返回响应数据
开发者工具: response
-
解析数据, 提取图片链接地址
-
保存数据, 把图片内容保存到本地文件夹
-
做文字识别, 识别文字内容
-
把文字数据信息, 保存word文档里面
代码展示:
1. 导入模块
import requests
from pprint import pprint
base64 import base64
import os
from docx import Document
import re
json import json
2. 发送请求
模拟浏览器对于url地址发送请求
# 确定请求链接
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)
2. 获取数据, 获取服务器返回响应数据
开发者工具: response
sponse.json() 获取响应json字典数据, 但是返回数据必须是完整json数据格式 花括号 {} esponse.text 获取响应文本数据, 返回字符串 任何时候都可以, 但是基本获取网页源代码的时候 response.content 获取响应二进制数据, 返回字节 保存图片/音频/视频/特定格式文件 print(response.json()) 打印字典数据, 呈现一行 pprint(response.json()) 打印字典数据, 呈现多行, 展开效果
3. 解析数据, 提取图片链接地址
字典取值: 键值对 根据冒号左边内容[键], 提取冒号右边的内容[值]
# 定义文件名 整型 num = 1 # for循环遍历, 把列表里面元素一个一个提取出来 for index in response.json()['data']['relateDoc']: # index 字典呀 pic = index['pic'] print(pic)
4. 保存数据
发送请求 + 获取数据 二进制数据内容
‘img\’<文件夹名字> + str(num)<文件名> + ‘.jpg’<文件后缀> mode=‘wb’ 保存方式, 二进制保存
img_content = requests.get(url=pic, headers=headers).content
# str(num) 强制转换成 字符串
# '图片\\' 相对路径, 相对于你代码的路径 你代码在那个地方, 那个代码所在地方图片文件夹
with open('图片\\' + str(num) + '.jpg', mode='wb') as f:
# 写入数据 保存数据 把图片二进制数据保存
f.write(img_content)
# 每次循环 + 1
print(num)
num += 1
5. 做文字识别, 识别文字内容
文字识别:
-
注册一个百度云API账号
-
创建应用 并且去免费领取资源
-
在技术文档里面 Access Token获取
-
调用API接口做文字识别
读取文件夹里面所有图片内容
content_list = [] files = os.listdir('img\\') for file in files: filename = 'img\\' + file words = get_content(file=filename) print(words) content_list.append(words)
6. 把文字数据信息, 保存word文档里面
保存word文档里面
doc = Document()
添加第一段文档内容
content = '\n'.join(content_list) doc.add_paragraph(content) doc.save('data.docx')
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦 ??
希望本篇文章有对你带来帮助 ??,有学习到一点知识~
躲起来的星星??也在努力发光,你也要努力加油(让我们一起努力叭)。
本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com