這些年我在公眾號寫了不少原創(chuàng)文章,突然有個想法,能不能把我的原創(chuàng)文章都采集下來,然后分好類,制作成一本妥妥的電子書,然后賣給你們。。。 哦,不!直接送給你們,用老羅的話來說就是:
我覺得這事有意義,可以干! 可是,怎么干呢? 理一下思路:
嗯嗯,可以。 如何采集原創(chuàng)文章在電腦打開微信客戶端,打開 Fiddler,開啟抓包,然后在微信瀏覽器中打開公眾號的歷史原創(chuàng)文章: 這時候就可以看到請求這個頁面的鏈接: 點進去可以看到各種請求的參數(shù): 以及返回的 JSON 數(shù)據(jù): 把它復(fù)制出來格式化一波: 通過一頓分析,可以發(fā)現(xiàn)在返回的 JSON 中:
再使用 Fiddler 模擬請求一下,發(fā)現(xiàn)數(shù)據(jù)正常返回: 那么接下來只要用 Python 構(gòu)造一下請求所需要的 Cookie 等參數(shù)不就可以獲取了么: 有了請求相關(guān)的參數(shù),就可以獲取了。 我們通過 get 請求就可以得到返回的 Json 信息,然后把它們解析出來,拿到自己想要的標(biāo)題和鏈接,接著存到 csv 里去: 這里通過判斷 can_msg_continue ,如果下一頁有數(shù)據(jù),就繼續(xù)獲取,直到?jīng)]有為止。 執(zhí)行一波: 很快,我要的數(shù)據(jù)就有了: 把鏈接分好類我分享的文章中有不同的類型,比如有關(guān)于我的一些觀點類的,有資源分享的,有技術(shù)教程的,有技巧的等等。
我希望每個類別可以形成一個章節(jié),那我就只能通過標(biāo)題,給它們打上 tag :
然后在 Python 中通過 with open 把數(shù)據(jù)讀取出來重新排好序,放到 list 里面去:
把公眾號生成 PDF 電子書有了鏈接列表,可以使用 pdfkit 的 from_url 方法,將它們生成 pdf ,但這樣直接去使用會有問題。 一來是公眾號圖片做了懶加載和防盜鏈,像這樣:
二來是現(xiàn)在抓取到文章的鏈接里面有很多不必要的東西,直接使用 pdfkit.from_url 會報錯,特別是你列表鏈接很多的時候:
那咋辦呢? 理一下思路:
這里在生成 pdf 可以傳入 options 和 toc 參數(shù),用來做一些生成 pdf 的配置,比如生成電子書的目錄 toc,可以引用 xsl:
在這里面就可以定義自己想要的樣式,比如我可以判斷如果標(biāo)題含有 Chapter,我就給目錄加個背景顏色:
至此,整個流程就搞完了,運行起來就可以生成一本電子書。 接下來,前方高能預(yù)警:
光目錄就 16 頁,整本書 1900+ 頁,蹲再多次馬桶也夠看了。 你覺得這本書值多少錢?反正我就是想送給你,交個朋友。 進入公眾號,發(fā)送 「帥書」,直接拿下。 希望對你有幫助,那么我們下回見,peace! |
|
|