帮我在百度文库文档下载器下载个资料文档

爬虫生活实录之---百度文库文档破解
帮同学找考试相关资料的时候瞄上了百度文库(百度文库找期末考的试卷确实特别方便),不想出钱又不想下冰点,复制粘贴还嫌累,灵机一动想用爬虫来解决这个问题。2333我凭本事爬的文档为什么要给钱
目标:搞定百度文库中的付费文档的文字部分内容(图片暂未处理处于无法显示的状态,以后遇到需要解决图片格式的时候再优化程序)
1.找到你想下载的文档,打开,在网址wenku前加wap,enter跳转页面之后可以在左上方看到有多少页。记住页数和复制网址,待会儿会用上这两个量
2.你需要有Python环境而且会安装包。本程序需要安装requests,BeautifulSoup,lxml三个包,前两个可以直接pip安装,最后一个建议从官网下载,下载教程在前一篇里有http://blog.csdn.net/qq_/article/details/
3.程序思路:首先,直接打开百度文库是不能爬取文档的,因为源代码里设置了Vip验证。但是百度文库有一个特性,就是手机端下载文档是免费的。于是在网页地址前加入wap使网页端跳转到手机端,此时的源代码就包含了文档中的所有文字内容,根据文档页数决定爬取多少页就能完美打印出文字内容。我看了不少不同类型的百度文库的文档,对正文的标注都是class="content bgcolor1",因此我大胆猜测所有文档其实都是用这个标签来定义的。
4.上范例代码:
import requests
from bs4 import BeautifulSoup
a=range(1,9)
for i in a:
url='https://wapwenku.baidu.com/view/cc248d6c1233.html?pn=%s&pu=='%i
html=requests.get(url).content
soup=BeautifulSoup(html,'lxml')
l=soup.findAll(class_="content bgcolor1")
for j in l:
print j.text
5.针对具体事例修改代码:把第三行的9改成你看到的页面数加1,把url那行后面的这行网址https://wapwenku.baidu.com/view/cc248d6c1233.html换成你跳转到的需要操作的页面网址(加wap跳转之后的),后面的?pn=%s&pu==和分号外面的%i不变
6.其实是可以在代码里设置输出文件格式的,但我比较懒所以就选择在输出框里用Ctrl+A全选,Ctrl+C复制,Ctrl+V粘贴到word中,大功告成!
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!1、首先,需要找到您需要下载的文档,打开该文件的文库地址,然后向下拉,就会在右下角看到下载地址按钮。
2、点击【下载】按钮,就会看到弹出的下载框,由于文本是免费的,我们直接下载就可以了。
3、点击下载按钮,就可以下载了。
百度文库下载的文档保存在哪里?
4、继续上边的步骤,会弹出下载对话框。
5、点击【保存】按钮,就可以选择保存的位置了,小编选择了D盘temp目录,您可以根据需要自己选择要保存的目录周热销排行
用户评论(0)
在此可输入您对该资料的评论~
添加成功至
资料评价:Bad Request
Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.

我要回帖

更多关于 百度文库文档下载 的文章

 

随机推荐