Python爬取百度文库doc文档

前言:因同学需要几篇文库资料,但又没下载币,用的次数不多,买个vip太浪费,就考虑用代码解决一下。网上找了一些资料,不知是不是被度娘过滤了,没找到合适能用的,就自己写了点代码。

声明:该文章方法仅用于小量的、非商业用途的资料爬取,支持正版,保护百度文库版权,如果需要下载的量大,建议购买VIP会员。

语言:Pythhon

所需要安装的库:selenium、docx、time、浏览器FireFox(如果用google浏览器,更换一下浏览器驱动)

#所需要导入的库

import time
from selenium import webdriver
import docx

file=docx.Document()
#获得火狐浏览器驱动
driver = webdriver.Firefox()
#文章链接
url = 'https://wenku.baidu.com/view/5cb015eea48da0116c175f0e7cd184254b351b82'
driver.get(url)
#防止网速过慢,休眠5秒
time.sleep(5)  
#以下两行为解决文章超过三页时,出现折叠,需要先展开
element = driver.find_element_by_css_selector('p[class*="down-arrow"]')
driver.execute_script("arguments[0].click();", element)
#防止网速过慢,休眠5秒
time.sleep(5)
result_list = driver.find_elements_by_class_name('reader-word-layer')
for i in result_list:
    text = i.text
    file.add_paragraph(text)#写入word文档
    print(text)#在控制台上看效果
#docx文档保存位置  
file.save("D:\\A_WorkSpace\\Python\\py_workspace\\work\\baidu_download\\writeResult.docx")

因为只是个人偶尔不常使用百度文库,所以代码只做了爬取doc文档,暂没考虑ppt、PDF等其他。

代码不足在于,由于时间仓促,没进行文docx文章格式排版,只能爬取到文字内容,需要自己整理排版,排版也好排,通过docx库对文章进行排版。

(尊重笔者的劳动哦,转载请注明出处哦。)

发布了20 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_41267342/article/details/85043486