日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

沒(méi)錯(cuò),我出了本書(shū)

 小帥b 2021-10-26

本文閱讀需約 4 分鐘

這些年我在公眾號(hào)寫(xiě)了不少原創(chuàng)文章,突然有個(gè)想法,能不能把我的原創(chuàng)文章都采集下來(lái),然后分好類,制作成一本妥妥的電子書(shū),然后賣(mài)給你們。。。

哦,不!直接送給你們,用老羅的話來(lái)說(shuō)就是:

交個(gè)朋友!

我覺(jué)得這事有意義,可以干!

可是,怎么干呢?

理一下思路:

  1. 我需要把所有的原創(chuàng)公眾號(hào)的原創(chuàng)文章鏈接和標(biāo)題都采集下來(lái)

  2. 接著把文章鏈接分好類

  3. 把它們生成 PDF 電子書(shū)

  4. 開(kāi)始寫(xiě)篇文章裝下逼

嗯嗯,可以。

如何采集原創(chuàng)文章

在電腦打開(kāi)微信客戶端,打開(kāi) Fiddler,開(kāi)啟抓包,然后在微信瀏覽器中打開(kāi)公眾號(hào)的歷史原創(chuàng)文章:

這時(shí)候就可以看到請(qǐng)求這個(gè)頁(yè)面的鏈接:

點(diǎn)進(jìn)去可以看到各種請(qǐng)求的參數(shù):

以及返回的 JSON 數(shù)據(jù):

把它復(fù)制出來(lái)格式化一波:

通過(guò)一頓分析,可以發(fā)現(xiàn)在返回的 JSON 中:

title 字段就是文章標(biāo)題

content_url 就是文章的鏈接

can_msg_continue=1 說(shuō)明下一頁(yè)還有數(shù)據(jù)

next_offset 可以獲取下一頁(yè)的數(shù)據(jù)量

再使用 Fiddler 模擬請(qǐng)求一下,發(fā)現(xiàn)數(shù)據(jù)正常返回:

那么接下來(lái)只要用 Python 構(gòu)造一下請(qǐng)求所需要的 Cookie 等參數(shù)不就可以獲取了么:

有了請(qǐng)求相關(guān)的參數(shù),就可以獲取了。

我們通過(guò) get 請(qǐng)求就可以得到返回的 Json 信息,然后把它們解析出來(lái),拿到自己想要的標(biāo)題和鏈接,接著存到 csv 里去:

這里通過(guò)判斷 can_msg_continue ,如果下一頁(yè)有數(shù)據(jù),就繼續(xù)獲取,直到?jīng)]有為止。

執(zhí)行一波:

很快,我要的數(shù)據(jù)就有了:

把鏈接分好類

我分享的文章中有不同的類型,比如有關(guān)于我的一些觀點(diǎn)類的,有資源分享的,有技術(shù)教程的,有技巧的等等。

我希望每個(gè)類別可以形成一個(gè)章節(jié),那我就只能通過(guò)標(biāo)題,給它們打上 tag :

然后在 Python 中通過(guò) with open 把數(shù)據(jù)讀取出來(lái)重新排好序,放到 list 里面去:

把公眾號(hào)生成 PDF 電子書(shū)

有了鏈接列表,可以使用 pdfkit 的 from_url 方法,將它們生成 pdf ,但這樣直接去使用會(huì)有問(wèn)題。

一來(lái)是公眾號(hào)圖片做了懶加載和防盜鏈,像這樣:

二來(lái)是現(xiàn)在抓取到文章的鏈接里面有很多不必要的東西,直接使用 pdfkit.from_url 會(huì)報(bào)錯(cuò),特別是你列表鏈接很多的時(shí)候:

那咋辦呢?

理一下思路:

請(qǐng)求每個(gè)鏈接,拿到具體文章

將其中的圖片引用 data-src 改為 src

使用正則表達(dá)式,只獲取文章內(nèi)容和格式

將它們重構(gòu)為新的 HTML 

將所有重新整理好的 HTML 文件存儲(chǔ)到本地并生成一個(gè) file_list

使用 pdk.from_file 生成 pdf 文件

這里在生成 pdf 可以傳入 options 和 toc 參數(shù),用來(lái)做一些生成 pdf 的配置,比如生成電子書(shū)的目錄 toc,可以引用 xsl:

在這里面就可以定義自己想要的樣式,比如我可以判斷如果標(biāo)題含有 Chapter,我就給目錄加個(gè)背景顏色:

至此,整個(gè)流程就搞完了,運(yùn)行起來(lái)就可以生成一本電子書(shū)。

接下來(lái),前方高能預(yù)警:

光目錄就 16 頁(yè),整本書(shū) 1900+ 頁(yè),蹲再多次馬桶也夠看了。

你覺(jué)得這本書(shū)值多少錢(qián)?反正我就是想送給你,交個(gè)朋友。

進(jìn)入公眾號(hào),發(fā)送 「帥書(shū)」,直接拿下。

希望對(duì)你有幫助,那么我們下回見(jiàn),peace!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多