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

有的人为了节省时间,就任性办理了个文库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下载

总结

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

  1. 一键加速去不掉加锁的_老旧油渍去不掉?这几款清洁神器帮你轻松搞定油污难题...

    生活中,我们常常被油污困扰,经常因为一点点的油污毁掉本来非常完美的一身衣服,让开心的外出变成烦躁和不快.那么面对该死的"油污"我们真的束手无策了吗?"NO",有 ...

  2. 苹果id密码忘了怎么办_手机密码忘了怎么办?一招帮你轻松搞定

    现在手机安全性特别高,比如指纹解锁.人脸解锁.骨声纹解锁等,安全方面非常有保障.而以前的手机只有数字密码和九宫格密码两种,虽说现在技术发达了,但是数字密码是我们避免不了的,一般只有设置了数字密码才能使 ...

  3. ubantu 黑屏_手机黑屏、卡屏怎么办?几招就能轻松搞定!

    手机这个功能尤其丰富的东西,偶尔也会出现一些小毛病,比如说手机黑屏.卡屏,这对大部分用户来说应该都有遇到过.手机黑屏这真的是一件让人揪心又无奈的事情,相对于懂得这方面技术的人来说,毫无疑问是小菜一碟, ...

  4. 函数字节不对齐函数崩溃_Excel中统计字符数,不需要一个一个的数,len函数能轻松搞定...

    简介:要统计Excel单元格中的字符数,不需要一个一个的数,利用len函数就能轻松搞定. 问:什么是len函数? 答:自动统计字符数的函数 问:怎样记住len函数 答:len是length(长度)的简 ...

  5. captura录屏发生了一个错误_录屏教程的方法有哪些?学会这两种轻松搞定

    录屏教程的方法有哪些?在日常的工作以及生活当作,录屏教程的需求是经常需要做的.比方说:工作的时候,需要录屏新产品操作教程.生活中需要录屏学习基础教程等等.所以,对于录屏教程能够找到一个好用的方法是非常 ...

  6. 不用下载券也能下载百度文库资料,Python帮你轻松搞定

    阅读文本大概需要5分钟. 大家可能平时都有在百度文库下载文档的经历,费尽心思好不容易在文库找了一份可以用的资料,一看需要用下载券下载,搞的人很烦. 有的人为了节省时间,就任性办理了个文库VIP,再也不 ...

  7. 安装deepin后会删除win10吗_不管是先装Win10还是先装Deepin,启动问题轻松搞定

    本帖最后由 yjgsz 于 2018-10-20 11:01 编辑 一直有人发贴,问关于Win和Deepin双系统启动的问题,电脑硬件和配置复杂多样,深度官方安装程序不能解决所有问题,有人安装deep ...

  8. kafka删除队列_没想到 Kafka 还会这样问,学会这些带你轻松搞定大厂面试!

    一.前言 自上次师兄遭受了面试官 「Kafka」 的暴击追问后,回来发奋图强,企图"「吊打面试官」",奈何还是面试官套路深啊,最近的面试,又被问到「知识盲点」了!让我们一起来看看, ...

  9. 电脑无法识别u盘怎么办_电脑无法识别U盘?5步操作让办公族轻松搞定!

    世界那么大,谢谢你来看我!! 对于办公族,经常会遭遇这种情况:鼠标键盘都能使用,唯独U盘识别不出来! 这是怎么回事呢?难道U盘坏了? 其实啊,并非是U盘损坏了,也有可能是USB被禁用了等等的情况. 那 ...

  10. 苹果商城怎么调成中文_不会PR怎么做视频剪辑?这三个网站就能帮你轻松搞定...

    很多人可能都想自己剪片子,但是却不会pr,所以很多人对剪片子只能望而却步,那有没有什么工具能让零基础小白也能自己动手剪片子呢? 有的,小派最近发现了两个超级实用的网站,能够在线剪辑视频和添加字幕,这样 ...

最新文章

  1. Java项目:校园二手市场系统(java+SSM+mysql+maven+tomcat)
  2. 罹患各种癌晚期,无法救治
  3. so文件反编译_安卓攻防so模块自动化修复实战
  4. 中国全装修行业发展形势及投资决策建议报告2022版
  5. qpython3l_介绍一下手机里能敲Python代码的软件,QPython3L和Pydroid3,顺便用有道翻译一下后者...
  6. Linux常用压缩和解压命令
  7. 陆奇上任之后第二次面向媒体,针对阿波罗计划说了什么?
  8. JavaScript将JSON转换为字符串
  9. php文章列表源码,抓取文章列表
  10. Android程序基础开发步骤,以简单的App开发为例
  11. 如何设计一张合格的日志表
  12. 计算机网络管理员基础pdf,复习题计算机网络管理员高级.pdf
  13. 神经网络-神经元模型、Hebb学习
  14. 入行手游必知的8项基础知识
  15. 做市商交易策略-期货
  16. BUUCTF misc 喵喵喵
  17. 题9.5:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓 名、3门课程成绩、平均分数)。
  18. 校招/社招/秋招/春招求职指南
  19. 任正非自罚100万:“不要脸”的人,有多可怕?
  20. [源码分析] Facebook如何训练超大模型 --- (3)

热门文章

  1. kafka集群搭建超详细教程
  2. linux中如何复制文件并重命名_在 Linux 上复制和重命名文件
  3. java面试逻辑题_精选程序员面试常问的逻辑题
  4. 【Scratch】进阶篇-《Scratch游戏开发》FlappyTurtle
  5. stvp打不开iar生成的hex文件
  6. 企业微信 java_java企业微信开发之通讯同步
  7. 嵌入式中的通讯协议——UART、I2C、SPI、DMA
  8. C#控制台程序关闭快速编辑
  9. 基于SSM的毕业生就业管理系统设计与实现 Java mysql
  10. 龙格库塔方法的原理和案例及MTATLAB编程