阅读文本大概需要5分钟。

大家可能平时都有在百度文库下载文档的经历,费尽心思好不容易在文库找了一份可以用的资料,一看需要用下载券下载,搞的人很烦。

有的人为了节省时间,就任性办理了个文库VIP,再也不用纠结怎么下文档了。如果你是一个百度文库的重度用户,这样做当然没问题了。

但有些学生党、上班族,他们可能只是为了交个作业,做一个产品汇报的PPT等等,对这部分人群再去办理VIP,我觉得没必要,毕竟挣钱也不容易,咱能省就省。

有的人会说,我会选择去某宝买下载券,需要用的时候,用卖家给的账户和密码下载就可以了,这个方法我也用过,不过随着百度文库不断修复漏洞,一些卖家的账户和密码,很快就会失效,这也不是一个长久之计。

当然除了我上面说的这些方法外,还有一些其他的神操作,比如,自己一点点去复杂粘贴、放到手机版的百度文库APP里,再另存为文章、或者用众所周知的“冰点文库”……

在我看来,这些都不是最优的解决方案,我今天就和大家分享一个我自己用Python写的百度文库免下载券的小项目。当然,这个项目主要是用来学习Python爬虫的,如果有任何侵权嫌疑,请联系我删除!

1.优点

不仅可以下载word文档,而且能下载PPT;

可以下载一个完整的文档;

不需要用一些某宝卖家的漏洞网址。

2.准备工作

(1)本次程序主要用到了火狐浏览器的selenium,大家可以在下面网址下载自己火狐浏览器对应的驱动geckodriver。下载地址:https://github.com/mozilla/geckodriver/releases/

下载解压后,将geckodriver.exe安装在Python的安装目录Scripts里面,之后就可以正常使用了。

(2)因为本次项目还涉及到了PPT文档的下载,所以,如果你没安装pptx模块,需要在命令行输入pip3 installpython-pptx提前安装好。

3.PPT文档下载

首先我们随便找一个需要下载券的PPT文档,本文以https://wenku.baidu.com/view/a132c661eef9aef8941ea76e58fafab069dc443d.html?rec_flag=default&sxts=1570202117357为例,打开开发者工具,对文档中图片进行分析,如下图所示:

图片保存在标签为div里面,所以写代码时首先需要找到这个标签,然后再把图片的url提取出来,同时,提取url时还要注意,有的属性是“src”,有的是“data-src”,不然就会出现文档丢失。主要代码如下:

4.下载图片

提取到图片的url后,就可以下载所有的图片,并以pictures命名保存在指定的路径下。代码如下:

5.组合成PPT

此时需要将上面下载好的图片,利用编写的函数重新合成ppt,这里就要用到刚才提前准备好的生成PPT需要的包,此外,为了保证程序顺利运行,还需要一个ppt模板,这个模板里面只有一个图片的占位,主要是为了让所有图片安装模板来创建成新的幻灯片。代码如下:

6.word文档下载

关于文档下载,本文以https://wenku.baidu.com/view/1b5ee5dbad51f01dc281f13e.html?sxts=1570243034873为例。

主要难点是当页数过多时,会出现“继续阅读”的字样,此时需要selenium模拟人去自动点击,所以,需要提取找到“继续阅读”的按钮;另外,还要获取文档的下载总页码,最后还需要对提取的文本进行分段整理。

(1)、寻找“继续阅读”位置

本文主要用到了正则表达式,以及js语法。首先要找到继续阅读的位置,如下图所示:

(2)、获取总页数

要获取整个文档,首先要找到文档的总页数,在下图中找到保存总页数的标签。

还要分析文档中的文字保存在哪个标签,如下图所示:

可以看到,文字主要保存在p标签里,我们找到相应的p标签,然后遍历每一页,提取文字。最后,还要设置一个判断变量,因为提取的文字会有很多行,有的是一个段的,有的不是一段的文字,这里需要处理一下,主要代码如下:

7.写入文档

将下载好的文档,以特定的名字写入新的文档,这里没什么难度,代码如下:

8.结果展示

(1)、PPT下载

(2)、word下载

总结

今天分享的这个用百度文库免下载券的实战项目,主要用自动化测试工具selenium,可以帮助大家获取一些付费的学习资料,大家不用再去某宝买下载券,或者办VIP了,如果有感兴趣的小伙伴,后台回复「文库」即可获得项目源代码。

最后,再次声明,本次项目主要用来学习Python爬虫,不能拿来商用,本人概不承担所有法律责任,如果有侵权,请联系作者,我马上删除。

往期阅读

扫码回复1024获取Python付费资料

不用下载券也能下载百度文库资料,Python帮你轻松搞定相关推荐

  1. html百度首页制作视频,韩顺平 轻松搞定网页设计 html+css+js

    韩顺平老师的教程影响着一代又一代的学子们,他的视频教程确实做的很经典,不论是java.php还是网页设计,都有出彩的地方.这里,小编给大家分享韩顺平老师的轻松搞定网页设计教程,绝对完整,全部存于百度网 ...

  2. 百度文库资料使用迅雷/快车软件下载失败的处理方法

    百度文库资料使用迅雷/快车软件下载失败的处理方法 http://hi.baidu.com/wenkuduxiaoyue/item/3fc50659e87b2b19aaf6d7e4 亲爱的文友们: 若您 ...

  3. 轻松搞定表白女朋友:Android版APP (零基础也可直接下载软件)

    轻松搞定表白女朋友:Android版软件 (零基础也可直接下载软件) 在我们平时生活当中,经常会看到一些表白女朋友的html网页,但是Android端的表白软件可以说是基本没有,笔者在全网搜了一下,就 ...

  4. 无法找到CCTV直播MP4地址?七十行代码,简单使用FFplay直接观看还是下载CCTV栏目都轻松搞定(Python利用FLVCD硕鼠解析CCTV直播,FFplay播放并下载视频)

    我们在每天使用新闻的时候大都会以CCTV发布的新闻为准,我们的每天新闻收视率最高的还是我们的总台,大家闲来无事可能也会看一下央视网提供视频直播吧,看看还可以,但是我们可以发现我们完全解析不了,大家看一 ...

  5. 轻松搞定阿里OSS文件上传和图片下载

    轻松搞定阿里OSS文件上传和图片下载 目录 1. 阿里云oss账号准备   1.1 注册阿里云账号,并开通OSS存储服务   1.2 创建RAM子用户并使用子账户的AccessKeyId和Access ...

  6. 计算机系统硬盘拷贝,不用互助,轻松搞定新旧电脑间系统完整复制或硬盘更换!...

    不用互助,轻松搞定新旧电脑间系统完整复制或硬盘更换! 2019-11-15 安克诺斯 数据保护 网络安全 想要升级硬盘或购买新电脑后想要将旧电脑系统完整迁移到新电脑,如果没有合适的工具或方案,这项工作 ...

  7. 不用PS,小白也能轻松搞定抠图

    在日常工作和生活中,我们有时候会有抠图的需求,这时候如果是不会PS或者PS技术不够怎么办呢?给大家介绍一个免费的在线抠图网站,3秒钟就能轻松搞定! 稿定抠图 网址:https://www.gaodin ...

  8. 苹果手机怎么设置铃声?不用电脑,轻松搞定

    苹果手机怎么设置铃声?都说最快毁掉一首歌的方法是把它设置为闹铃,而最能证明我们喜欢一首歌的方法就是把它设置为手机铃声.很多安卓手机都可以直接设置铃声,并且随时更换,但是在苹果手机上好像不能这么做,很多 ...

  9. python爬去百度文库资料_Python在线百度文库爬虫(免下载券)

    百度文库,文字类型的资源(如txt, doc, pdf),是可以在前端源码分析获取到的,如果能按照规则合理的提取这些文字资源,就可以实现免下载券获取资源. 作者完成了百度文库的在线版爬虫,只需提供文库 ...

最新文章

  1. 从Netty到EPollSelectorImpl学习Java NIO
  2. Debian 系统初体验
  3. 嬴彻科技拿下SemanticKITTI榜单两项第一
  4. np.random.randint产生一个范围内的数据
  5. Python捕获 Warning 警告
  6. libjpeg php,libjpeg62_turbo
  7. matlab数值型数据默认为,matlab默认数据类型
  8. 小学计算机英语,小学英语流利读电脑版
  9. 【0day安全-软件漏洞分析技术】笔记
  10. CycloneII之EDA及学术开发功能描述
  11. 通过虚拟机安装Ubuntu系统到移动硬盘
  12. Cocos 2dx - lua Action动作方法
  13. 微微一笑很倾城(3)
  14. ERDAS 2015 64位破解安装教程
  15. python爬虫常见报错_Python爬虫常见异常及解决办法
  16. 蓝牙HC-05出现进入AT模式之后串口发送AT无返回值或者返回乱码情况
  17. SQL注入漏洞测试(HTTP头注入)
  18. 高并发框架 Disruptor
  19. 2014 Multi-University Training Contest 5——by Xiaoxu Guo (ftiasch)
  20. 台式计算机蓝屏代码08e,win7系统下电脑开机出现蓝屏代码0x000008e解决方法(图)

热门文章

  1. 项目管理中的进度与成本控制
  2. 【golang】安装库出错 cannot find package “github.com/xxx“ in any of
  3. Linux 下FTP的安装与配置教程详解
  4. 天玥网络安全审计系统(互联网型)
  5. 北理工计算机专业课2021,2021北理真题回忆 - 北京理工大学 - 王道论坛,专注于计算机考研的点点滴滴! - Powered by Discuz!...
  6. 京津冀计算机学科大学排名,三大城市群综合排名出炉 京津冀垫底
  7. ADK+MDT实现域控服务器全自动静默下发系统(五):MDT的部署--Task Sequences的配置
  8. 网络密码:越复杂越好?
  9. video同层播放层级过高遮挡模拟暂停按钮的问题
  10. 单细胞测序流程(八)单细胞的marker基因转化和​GO富集分析