Python---微信公眾號或網頁自動匯出
背景
從來沒有這麼粉過一位公眾號作者,嗯。。。確切的說是女朋友那天和我說喜歡看一位公眾號的作者,然後覺得微信的機制很不好,每次都要翻啊翻,想想有個辦法能匯出就好了。網上確實有人在做這件事,不過是收費的,具體是誰博主就不點名啦。額。。。我好想能做出來,話不多說,我先試為敬。
所以呢本文主要就是來說說,如何把自己喜歡的網頁匯出成為pdf,自己喜歡的公眾號匯出成pdf,讓自己隨時想看隨時看,不受微信的約束,不受各個網站流量的約束。
展示效果
專案地址
思路
其實微信這個平臺流量巨大,微信想怎麼限制怎麼限制,比如最近封殺抖音,還有和支付寶的戰爭。所以其實微信對於反爬,等一些功能做了比較好的限制。
正面突破也是可以,如何攻破微信的一項一項障礙,最終直接爬取。
本文的總體思路如下:
利用python webdriver庫來動態的滾動網頁,然後自動截圖,儲存。
然後利用截圖進行裁切,計算頁面大小,存為pdf
環境
- Python3
- webdriver(安裝詳見:官網地址)
- pillow圖片載入庫
pip install pillow
嗯。。。別的暫時還沒想起來
關鍵程式碼擷取
init_filelist()
#首先初始化webdirver
driver = webdriver.Chrome()
#設定輸出路徑
dir = './result'
for item in filelist:
try:
#獲取圖片路徑,標題,以及輸出路徑
#自動滾動,並截圖儲存
pic_path,title = save_url(driver, item, dir)
#開始合併我們剛剛截的所有圖
package_picture(pic_path, os.path.abspath(dir), title)
except Exception as e :
print(e)
save_url方法內部主要步驟如下
* 首先利用xpath找到微信公眾號標題,”//div//h2[@class=’rich_media_title’]”
* 然後將標題設定為檔名
* 再然後自動滾動螢幕
* 儲存每一次滾動螢幕的圖片
package_picture方法內部主要步驟如下
* 將剛剛儲存的分散的圖片打包成為整體
* 存入./result資料夾內
長圖轉為pdf
獲取到長圖了之後,那麼接下來的工作就是轉換為pdf了
執行以下命令
python crop.py
這個命令的目的是將剛剛我們的所有圖片做成一個個單獨的pdf,再次要感謝網友“TTyb”,
以下內容參考了他的部落格
寫在結尾
消失了幾個月的博主,今天好像回來了,嗯。。。感慨頗多。
希望以後不止分享逆向的東西,把博主的所見所聞一起分享給大家。
好玩的有趣的,各種各樣的。
是不是有的小夥伴是不是不願意這樣呢,還是沒有呢。
看心情,看緣分啦。
佛系的博主
寫完部落格轉眼已經第二天啦。
2018.7.17