python解决 某文库禁用文段批量下载 并保存到文档

news2024/11/28 16:53:01

嗨害大家好鸭! 我是小熊猫鸭~

大家是不是在写毕业论文的时候

需要参考某一段的内容

要用到复制粘贴,但是吧,某文库就需要付费,

就老难受了…

我们今天就来解决这个"老难受"

源码、资料点击此处

在这里插入图片描述

环境使用:

python 3.8
pycharm

模块使用

requests >>> 数据请求模块 pip install requests
    docx >>> 文档保存 pip install python-docx
    re 内置模块 不需要安装

一个小细节

文字识别:
1. 注册一个百度云API账号
2. 创建应用 并且去免费领取资源
3. 在技术文档里面 Access Token获取
4. 调用API接口做文字识别

本次地址

在这里插入图片描述
这里我没打前缀,不过审,

模块安装问题:

  • 如果安装python第三方模块:
  1. win + R 输入 cmd 点击确定,
  2. 输入安装命令 pip install 模块名 (pip install requests) 回车
  3. 在pycharm中点击Terminal(终端) 输入安装命令
  • 安装失败原因:

  • 失败一: pip 不是内部命令
    解决方法: 设置环境变量

  • 失败二: 出现大量报红 (read time out)
    解决方法: 因为是网络链接超时, 需要切换

镜像源整理:

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:https://pypi.hustunique.com/
山东理工大学:https://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/
例如:pip3 install -i https://pypi.doubanio.com/simple/ 模块名

  • 失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入
    解决方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好 或者你pycharm里面python解释器没有设置好

一. 分析数据来源

找文档数据内容, 是在哪个url里面生成的

  • 通过开发者工具进行抓包分析
    1. 打开开发者工具: F12 / 鼠标右键点击检查选择network
    2. 刷新网页: 让本网页数据内容重新加载一遍
    如果你是非VIP账号, 看数据, 图片形式 —> 把数据<图片> 获取下来 —> 做文字识别
    3. 分析文库数据内容, 图片所在地址

二. 代码实现步骤

1. 发送请求, 模拟浏览器对于url地址发送请求

在这里插入图片描述

请求参数

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/'
    }

发送请求

response = requests.get(url=url, params=data, headers=headers)

# <Response [200]> 响应对象, 200 表示请求成功
    print(response)

2. 获取数据, 获取服务器返回响应数据

response.json() 获取响应json字典数据, 但是返回数据必须是完整json数据格式 花括号 {}
response.text 获取响应文本数据, 返回字符串  任何时候都可以, 但是基本获取网页源代码的时候
response.content 获取响应二进制数据, 返回字节 保存图片/音频/视频/特定格式文件

在这里插入图片描述

3. 解析数据, 提取图片链接地址

定义文件名 整型

num = 1
# for循环遍历, 把列表里面元素一个一个提取出来
for index in response.json()['data']['relateDoc']:
    # index 字典呀
    pic = index['pic']
    print(pic)

4. 保存数据, 把图片内容保存到本地文件夹

发送请求 + 获取数据 二进制数据内容
        # 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

5. 做文字识别, 识别文字内容

在这里插入图片描述

进行文字识别

在这里插入图片描述
在这里插入图片描述

遍历一下

在这里插入图片描述

6.保存文档

# # 读取文件夹里面所有图片内容
# content_list = []
# files = os.listdir('img\\')
# for file in files:
#     filename = 'img\\' + file
#     words = get_content(file=filename)
#     print(words)
#     content_list.append(words)
#
# # 保存word文档里面
# doc = Document()
# # 添加第一段文档内容
# content = '\n'.join(content_list)
# doc.save('data.docx')

今天的文章就是这样啦~

我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目实战案例丨教辅机构信息化平台跟着这个做

一. 基本简介 最近正值计算机专业的小伙伴忙着整理毕业设计&#xff0c;有不少童靴问辉哥&#xff0c;有没有合适的项目作为毕业设计项目。恰好辉哥这里就有一个适合作为毕设的项目&#xff0c;那么辉哥就写一篇文章&#xff0c;聊聊这个项目&#xff0c;希望可以对有需要的你…

照片怎么制作动态照片?这篇文章教会你如何制作

大家不知道有没有在网上刷到过一些本来是静态的照片&#xff0c;可照片里的局部却能够动起来的动态图片&#xff0c;我看完后觉得这种特效很神奇&#xff0c;既有趣又不会有违和感。那你想知道动态照片怎么制作吗&#xff1f;今天我就来给大家介绍一下制作动态图片的具体方法&a…

基于JWT用户认证分析

在前后端分离开发时为什么需要用户认证呢&#xff1f;原因是由于HTTP协定是不储存状态的(stateless)&#xff0c;这意味着当我们透过帐号密码验证一个使用者时&#xff0c;当下一个request请求时它就把刚刚的资料忘了。 于是我们的程序就不知道谁是谁&#xff0c;就要再验证一…

Spring Security 认证授权(一)

1.基本概念1.1.什么是认证 进入移动互联网时代&#xff0c;大家每天都在刷手机&#xff0c;常用的软件有微信、支付宝、头条等&#xff0c;下边拿微信来举例子说明认证相关的基本概念&#xff0c;在初次使用微信前需要注册成为微信用户&#xff0c;然后输入账号和密码即可登录微…

大二毕设.1-学生信息管理系统

目录 技术选型: 功能概括: 可扩展性良好&#xff0c;添加其余操作无非是多加点信息&#xff0c;重复编码改数据罢 版本: 基本演示 功能实现讲解 登录校验 可调整每页条数的分页显示与增删查改 不会造成偷窃的部分web代码 技术选型: 前端: Vue Element UI后端: Spring…

喜报|众享链网荣获第二届中国可信区块链安全攻防大赛优秀案例奖

近日&#xff0c;第二届中国可信区块链安全攻防大赛决赛在成都成功举办并圆满落幕。经过预赛初审、预赛复审的层层选拔&#xff0c;众享链网脱颖而出&#xff0c;成功进入赛道三“原创自主区块链平台优秀应用案例评选比赛”总决赛环节&#xff0c;荣获优秀案例奖&#xff0c;入…

[附源码]计算机毕业设计的桌游信息管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

弗洛伊德算法(Floyd)的实现与可视化其最短路径

弗洛伊德算法Floyd是针对多源路径找出最短的路径&#xff0c;其中数据结构会使用到前面介绍过的邻接矩阵&#xff0c;有兴趣的可以先查阅&#xff1a;图数据结构之邻接矩阵Adjacency Matrix(Python版) 先了解这个邻接矩阵然后再回看本文章也可以。 区别在于这里我们介绍的是带…

浅撸一下spring源码---大致内容实现

手写spring-模拟spring 1&#xff0c;普及一个小知识 UserService.class Component public class UserService{public void test(){ System.out.println("test") }}Test.classpublic class Test{public static void main(String[] args){AnnotationConfigApplicati…

什么软件可以将录音转写为文字?这几款好用软件不容错过

录音实时转写软件有哪些 &#xff08;百&#xff09;录音实时转写软件有哪些&#xff1f;这些录音转文字软件推荐给你 &#xff08;搜&#xff09;音频转文字工具有哪些&#xff1f;推荐三个实用转写软件 &#xff08;企&#xff09;哪些软件可以把录音转写为文字&#xff1f;这…

微信小程序|系统配送员如何登陆抢单?同城配送、预约服务

系统中有多个功能有有配送端&#xff0c;最主要的是同城配送&#xff0c;和预约服务两个功能&#xff0c;首先介绍一下同城配送的配送员登录&#xff08;扩展的同城配送需要开启&#xff09; 第一步&#xff0c;设置模板消息&#xff0c;配送员通过微信模板消息接收配送信息&am…

离婚数据可视化,经济越发达的地区离婚率越高,但为何天津离婚率最高?

这几年我国的离婚率持续走高&#xff0c;2021年全国各个省份平均离婚率在2.1‰&#xff0c;离婚率高于和低于全国平均水平的省份各有15个。 离婚率高于平均水平2.1‰有9个是北方地区&#xff0c;分别是天津、北京、新疆和内蒙古以及黑吉辽三省&#xff1b;南方地区有6个省份高…

[附源码]Python计算机毕业设计电视设备租借系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

最全的Go资料汇总和最走心的学Go建议

推荐语 最用心的Go学习资料和学习建议&#xff0c;可能没有之一。怎么学Go快&#xff1f;有哪些教程建议看&#xff1f;学到什么程度能去找工作&#xff1f;我觉得这个问题的关键要看你的目标是什么&#xff1f;一定要结合你自己的情况去考虑这个事情。 前言 最近不少读者私…

智能学习硬件小程序开发,提升学习感受

随着科学技术的飞速发展&#xff0c;各种智能学习硬件层出不穷&#xff0c;日常生活中的智能电子产品也愈来愈多&#xff0c;但是大部分硬件产品都是单独使用的&#xff0c;并没有配套的app或者小程序&#xff0c;在使用过程中总是会出现一些小插曲&#xff0c;比如&#xff1a…

FL Studio21.0.0中文版发布更新下载支持简体中文版

FL Studio 21.0.0官方中文版重磅发布纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01;Mac版新增对苹果M2/1家族芯片原生支持。 更新版本&#xff1a;21.0.0支持语言&#xff1a;简体中文/英语更新时间&#xff1a;2022.12.07…

[附源码]Python计算机毕业设计动物园动物饲养管理Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

[附源码]Python计算机毕业设计电影推荐系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

[附源码]Nodejs计算机毕业设计基于web的网上订餐系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Seekbar和ProgressBar进度条样式

有时项目中需要实现水平圆角进度&#xff0c;如下两种&#xff0c;其实很简单 下面开始看代码&#xff0c;先从主界面布局开始看起: <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…