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


