采集演示

以采集 ZanUI 微信小程序中文文档 作为演示案例。

创建一个文档项目,并创建一个标识为SUMMARY.md的文档,把下面的采集规则内容粘贴进去,然后保存,就会自动帮你采集了。

采集规则:

  1. <selector>.van-doc-content</selector>
  2. <mode>chrome</mode>
  3. <spider></spider>
  4. - [基础]($basic.md)
  5. - [Icon 图标](https://www.youzanyun.com/zanui/weapp#/zanui/base/icon)
  6. - [Card 卡片](https://www.youzanyun.com/zanui/weapp#/zanui/layout/card)
  7. - [Panel 面板组件](https://www.youzanyun.com/zanui/weapp#/zanui/layout/panel)
  8. - [表单]($form.md)
  9. - [Field 输入框](https://www.youzanyun.com/zanui/weapp#/zanui/form/field)
  10. - [Switch 开关](https://www.youzanyun.com/zanui/weapp#/zanui/form/switch)
  11. - [Select 选择](https://www.youzanyun.com/zanui/weapp#/zanui/form/select)
  12. - [Stepper 计数器](https://www.youzanyun.com/zanui/weapp#/zanui/form/stepper)
  13. - [展示]($display.md)
  14. - [Tag 标签](https://www.youzanyun.com/zanui/weapp#/zanui/view/tag)
  15. - [Badge 徽章](https://www.youzanyun.com/zanui/weapp#/zanui/view/badge)
  16. - [交互]($interactive.md)
  17. - [Actionsheet 行动按钮](https://www.youzanyun.com/zanui/weapp#/zanui/interactive/actionsheet)
  18. - [Loadmore 加载](https://www.youzanyun.com/zanui/weapp#/zanui/interactive/loadmore)

好了,就这么简单,程序帮你采集ZanUI的文档,并将HTML转成markdown内容存入你的数据库。

采集规则说明:

  • <selector>标签里面是内容选择器。会jQuery的,相信这个不难理解。如上面的采集规则<selector>标签中,.van-doc-content表示采集class=”van-doc-content”的内容。
  • <mode>标签里面存放的是采集模式。chrome表示使用谷歌浏览器进行采集,这个对于采集使用js进行渲染的页面内容极为重要。如果采集的页面内容,不是使用js进行渲染的,则可以不用<mode>标签指定采集模式。
  • <spider>标签,里面什么内容都不需要,但这个是必需标签,用于告诉后端,我这个是个采集规则,让后端根据照规则去采集内容。

HTML标签排除功能

<exclude></exclude>如要排除标签h5以及class为hello、id为”book”的HTML内容,写法是

  1. <exclude>h5,.hello,#book</exclude>
这个排除功能对其它的CSS规则也是适用的,比如说不采集P标签的最后一行,可以这样写:
<exclude>.content p:last-child</exclude>

文档拆分功能

采集完后,可以对文档进行拆分。使用以下标签可能拆分文档,如要以##作来拆分符,直接保存后就生效了 <bookstack-split>##</bookstack-split>

拆分后的子文档最好修改一下,再保存,以确保子文档的格式不会乱

自动提取标题

新版本2.5中加入了自动提取文档的标题作为文档的名称:$auto-title 这个现在发现是用在排序上的,格式如下:

  1. <bookstack-summary></bookstack-summary>
  2. - [$auto-title]($README.md)
  3. - [$auto-title]($chapters-install.md)

采集后处理

  • 如果是从EPUB电子书导入的话,会有一个

    1. <a class="pcalibre1 pcalibre calibre9">

    的标签,影响标题的显示,要把它替换为其它标签,并把它隐藏了。同时[TOPC]这个要删除了,不然显示乱七八糟的。

  • 采集如果有其它字符的,也要处理下

    1. &amp;

    需要把这个替换回:&

  • 电子书导入的,代码块不太好看,还是尽量从GITBOOK、GITHUB中导入好些