1. 程式人生 > >python抓取知識星球精選帖,制作為pdf文件

python抓取知識星球精選帖,制作為pdf文件

href 執行c tar 圖片 焦慮 描述 tps 信息 比較

版權聲明:本文為xing_star原創文章,轉載請註明出處!

本文同步自http://javaexception.com/archives/90

背景:

這兩年知識付費越來越熱,我也加入了不少知識星球,總覺得信息有些過載了。一天不看,就有500+的內容顯示未讀,弄的自己格外的焦慮。感覺這樣非常不好,就想要找辦法解決,比如把精華帖抓取下來制作成pdf文件,這樣自己隨時可以翻閱,或者拿出整塊的時間閱讀,不用擔心遺漏。記得年初的時候做過一番嘗試,在Github上看到幾個不錯的項目,關於抓取知識星球帖子內容的開源項目,測試了幾個,選中了一個非常不錯的項目,當然了自己對這個項目的代碼做了一點點小調整,fork了一份,地址是https://github.com/xingstarx/crawl-zsxq。

解決辦法:

由於知識星球官方對反爬比較嚴,有一些反制手段,這個項目的代碼也需要不斷的叠代更新,這是一個攻防對抗的過程。

具體如何執行就不講了,可以看這個項目的readme。按照上面的描述,準備python環境,以及相關的依賴,然後修改對應的header裏面的關鍵參數,那麽就可以將程序跑起來了。

常見的問題:

這裏額外說一下程序跑起來的過程中,會碰到的一些問題。

1.header信息修改的有問題,這塊可以通過chrome瀏覽器的開發者工具解決,或者是charles抓包工具解決,不懂的可以google下

2.執行crawl.py的時候,如果提示ssl等之類的問題,那麽關掉charles之類的抓包工具

3.如果爬取的文件特別多,特別大,幾百上千個文件,還包含圖片的,這種最好分步驟操作,比如先把html下載下來,接著分為3-5部分,每次取出1/3或者1/5的量執行make_pdf函數,這個可能需要修改下代碼,可以參考https://github.com/xingstarx/crawl-zsxq/issues/1。

另外這個開源項目是為了方便自己的,還是不要用於盜版,作惡可不好,還是多尊重知識,尊重版權啊。

項目地址:

https://github.com/xingstarx/crawl-zsxq

python抓取知識星球精選帖,制作為pdf文件