最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何用爬蟲攻克令人討厭的百度文庫?(菜鳥向)

2023-08-14 22:50 作者:賬戶已欠費  | 我要投稿

天下苦百度文庫久矣!

????不知從何時起,想從百度文庫下載一份文檔都成了非常困難的事情。每當我看到需要的文本而靈感大發(fā),興奮地Ctrl+C、V時,卻發(fā)現(xiàn),誒嘿?。∩兑裁糜??。。。

? ?我氣地抓耳撓腮,想上B站找有什么免費下載器,鋪天蓋地而來的卻是一大堆垃圾宣傳,什么“公眾號”“回復(fù)”之類的。所以迫于無奈只好自己寫了一點點小東西。

重要的事情說三遍:

????下載鏈接在文章末尾!

????下載鏈接在文章末尾!!

????下載鏈接在文章末尾!!!


攻克經(jīng)歷

  • 1.尋找數(shù)據(jù)

    ? 隨便找一篇百度文庫的文檔。這里就以《2022立秋節(jié)氣的風(fēng)俗及養(yǎng)生知識》(文檔ID:041145275b1b6bd97f192279168884868662b87b)為例,打開F12,在元素界面搜索文檔內(nèi)容,就會發(fā)現(xiàn):啥也搜不到捏??

????????這是因為百度文庫中的文檔都是JavaScript動態(tài)加載的,在瀏覽器(Edge)中關(guān)閉JavaScript后回來看就會發(fā)現(xiàn):


? ? 百度文庫只剩一個殼了,啥也沒有。

????????順便提一嘴,很多一復(fù)制就彈窗要會員、登錄的網(wǎng)站只要把JS關(guān)了就能隨便復(fù)制了。


????????翻一翻網(wǎng)絡(luò)選項卡,在搜索中搜索文檔內(nèi)容,就能在文檔選項下找到一份文檔:


? ? 這個文檔應(yīng)該對應(yīng)了頁面中加載的文本,所以只有前幾頁已加載的內(nèi)容中的文本.到這一步,已經(jīng)能夠拿到一部分數(shù)據(jù)了,但是 , 做事就要做絕!

????鑒于本人為新手,就開始了為30分鐘的無強度學(xué)習(xí)。東拼西湊的知識,最后ChatGPT告訴我:

????異步加載: 很多現(xiàn)代網(wǎng)站使用異步加載技術(shù),如 AJAX(Asynchronous JavaScript and XML)來實現(xiàn)頁面的動態(tài)更新。通過異步加載,網(wǎng)頁可以在不刷新整個頁面的情況下,只更新部分內(nèi)容,從而提升用戶體驗和頁面加載速度。--------ChatGPT

然后,我嘗試點擊 "展開全文" 按鈕,然后,很快啊,一個新的可疑的請求引起了我的注意:



????分析響應(yīng)的內(nèi)容,就能發(fā)現(xiàn),這是一個json格式的響應(yīng),其中的pageIndex代表了頁碼,pageLoadUrl則代表了每一頁的文本加載的URL,隨便點開一個URL,就能發(fā)現(xiàn)一大堆Unidoce編碼的漢字:

{"c":"\u65b9\u5f0f\u5728\u79cb\u5b63\u683d\u79cd\u7684\u841d\u535c\u662f\u6700\u597d\u5403\u7684\uff0c\u7279\u522b\u662f\u971c\u6253\u4ee5\u540e\u3002\u800c\u4ece\u516b\u6708\u4efd\u4e0b",

用在線工具解碼后就可以發(fā)現(xiàn):


成功!

理論存在,實踐開始!!


程序部分(python



?經(jīng)典




實驗后發(fā)現(xiàn),上面請求的URL可以簡化為只有文檔id一個參數(shù)的地址,pn為頁數(shù),但是一般免費的文檔都不會超過100頁:



??這里直接用json庫解析數(shù)據(jù)了,把每一頁的URL存入一個列表:


????

請求每一頁的文本,并進行一點文本處理:



使用BeautifulSoup庫處理主頁,取得文檔的標題:




ppt類文檔可獲取圖片:




文件的存儲路徑:





外加一大堆的bug處理...??




重要問題1

太偉大了,一針見血!


然后,

我的程序(屎山),

終于,

初現(xiàn)雛形了!


?成果展示



文本


《2022立秋節(jié)氣的風(fēng)俗及養(yǎng)生知識》


PPT



《夏日作文》

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??



下載鏈接

源代碼(推薦):https://github.com/TinkerAC/Baiduwenku-downlload.git


藍奏云:https://wwpn.lanzouw.com/iGRFv15e56re

密碼:hj75

(如果你想直接運行的話)



免責(zé)聲明

1. 本腳本僅用于學(xué)習(xí)交流使用。作者不對腳本的任何誤用或濫用承擔任何責(zé)任。

2. 本腳本可能存在錯誤和缺陷,作者不對其準確性、完整性或適用性做出任何保證。

3. 本腳本的使用風(fēng)險由用戶自行承擔。作者不對因使用本腳本而導(dǎo)致的任何損失、損害或問題負責(zé)。

4. 用戶在使用本腳本時,應(yīng)遵守所有適用的法律法規(guī)和道德標準。任何非法或濫用行為均與作者無關(guān)。

5. 本腳本可能會涉及第三方庫、工具或資源,這些資源受到其各自的許可協(xié)議約束。用戶需遵守相關(guān)許可協(xié)議。

請注意,本免責(zé)聲明可能會根據(jù)需要進行調(diào)整和修改。作者保留在任何時候修改免責(zé)聲明的權(quán)利。繼續(xù)使用本腳本將被視為您已經(jīng)同意了任何修改后的免責(zé)聲明。

最后,作者對您使用本程序的結(jié)果不承擔任何責(zé)任。感謝您的理解和合作。

結(jié)尾

????小聲BB:作者第一次寫文章,做的不好還請見諒,好用的話別忘了支持一下哦!

大佬們看一樂就好了,作者的編程水平還有待提升????

歡迎小伙伴們在地下評論留言哦!




(●'?'●)

????


如何用爬蟲攻克令人討厭的百度文庫?(菜鳥向)的評論 (共 條)

分享到微博請遵守國家法律
太仓市| 仁寿县| 聂拉木县| 西平县| 冕宁县| 枣强县| 台东市| 梧州市| 读书| 炉霍县| 郓城县| 天气| 唐山市| 卓资县| 壶关县| 巴青县| 凤翔县| 广州市| 双峰县| 舟曲县| 宁远县| 泉州市| 邵东县| 湖口县| 章丘市| 历史| 尉犁县| 宜君县| 平昌县| 保山市| 青海省| 来宾市| 山东省| 石阡县| 乌拉特中旗| 遂川县| 玉田县| 建水县| 收藏| 黔西| 宜春市|