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庫對文章進行排版。

(尊重筆者的勞動哦,轉載請註明出處哦。)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章