mpspider
1.0.0
抓取公眾號歷史文章,解析成markdown 文件,生成gitbook 項目,最後可生成kindle 書籍。
PS :
book.json 支持兩種抓取方式:
PS :匯總文章指的是一個公眾號的文章頁面,比如「架構師之路」的這篇文章
1~6 步是全自動的,7 是看自己情況
npm i mpspider -g # 第一种方式
mpspider article https://mp.weixin.qq.com/s/CIPosICgva9haqstMDIHag -d dest_path
# 第二种方式,需要手动配置代理,点击公众号「查看历史文章」,详见下面介绍,支持手机微信和 pc 微信列表
mpspider proxy -d dest_path -p proxy_port抓取後,會在dest_path創建gitbook 項目
執行命令
# 进入抓取后gitbook的地址
cd dest_path
# 创建readme.md,gitbook不创建会报错
touch README.md
# 有必要可以创建book.json,参考gitbook文档
gitbook serve
# 访问地址查看效果
# -------
# 生成电子书
gitbook mobi ./ name.mobi
參考:http://anyproxy.io/cn/#%E8%AF%81%E4%B9%A6%E9%85%8D%E7%BD%AE
anyproxy --rule lib/anyproxyRule.jsmpspider.config.js支持配置項:
Array.sort寫法,傳入item對象,有mid 、 title 、 content 、 release 、 uri等選項,release 是拼音文件名,默認根據release 排序filter :文章內容過濾函數,將文章列表數組items通過items.filter(option.filter)過濾一遍,item 內容包括: mid 、 title 、 contentlistFilter :列表文章過濾,只用在proxy 模式下,根據文章列表的json 對象過濾數據,常用對象字段為author 、 title 、 copyright_stat 、 content_url 、 source_url 、 digest 、 content 、 cover 、 is_multi等datetime發佈時間戳turndown :支持keep 、 remove 、 rule 、 plugins四個選項,分別對應turndown 的四個配置項afterConverter :turndown 將html 轉為markdown 內容之後,將content字符串傳入該函數,處理結束後, return處理後的字符串示例:
const turndownPluginGfm = require ( 'turndown-plugin-gfm' ) ;
module . exports = {
filter : item => {
if ( item . title . indexOf ( '广告' ) !== - 1 ) {
return false ;
}
return true ;
} ,
turndown : {
keep : 'span' ,
remove : 'span' ,
rule : {
strikethrough : {
filter : [ 'del' , 's' , 'strike' ] ,
replacement : function ( content ) {
return '~' + content + '~' ;
}
}
} ,
plugins : [ turndownPluginGfm . gfm , turndownPluginGfm . tables ]
} ,
afterConverter : content => {
return content . replace ( / <(.+?)> / g , ( i , m ) => {
return `< ${ m } >` ;
} ) ;
}
} ; git clone 源碼後,進入文件夾,執行npm i
commander和ora進行命令處理summary.md ,替換內鏈的文內容brew install caskroom/cask/calibrenpm i gitbook-cli -g 


