首页 / 正文
广告·AD

文档|蜜蜂百宝箱 – 如何设置采集规则?

插件·蜜蜂百宝箱 2020年7月7日 Bee 448

需注意,本教程的规则仅适用于百宝箱内的采集规则编写!

必备知识

需要了解 HTML 及正则表达式,尤其是 jQuery 选择器

可开启浏览器控制台查看 HTML 标签节点辅助编写,macOS 用户 alt+cmd+i快捷键,Windows 用户按 F12 键即可调出控制台

规则说明

文章详情页规则

  • 规则名称,可随意,仅仅是为了作为标注
  • 目标地址,无需带上 http:// 或 https://,仅需域名即可
  • 文章标题规则 和 文章内容规则
    • 规则如 类型|选择器(或正则表达式,建议能用选择器就用选择器)
    • 类型有两种:1 代表正则表达式,2 代表 jQuery 选择器
    • 举例,2|h1,代表用 jQuery 选择器去匹配 <h1> 标签的内容,2|.post-content,代表用 jQuery 选择器去匹配类名(class属性)为 post-content 的内容,1|/msg_title = \'([^\’]+)\’/ 代表用正则表达式去匹配内容,比如内容包含 msg_title = ‘这是标题’,用这个正则表达式将返回匹配结果 “这是标题”
  • 文章图片规则
    • 规则类似文章标题规则,只是后面多了一个图片链接的属性
    • 此外,内文图片仅支持类型 2,即 jQuery 选择器
    • 举例,2|img|src,代表用 jQuery 选择器匹配 <img>标签,并且指定 <img> 的链接属性为 src(通常为 src,但也有例外,部分网站增加了懒加载模式,可能真实属性为 data-src 或其它属性)
  • 编码:目前仅支持 utf8

列表页规则

  • 规则名称:随意,为了查找方便
  • 列表地址规则:目前仅支持正则表达式,并且开头无需带上 http:// 或 https://
    • 比如列表页面的地址通常类似 http://example.com/page/1,http://example.com/page/2 …
    • 那么该列表的规则就可以写成 /example.com\/page\/[0-9]+/
    • 需要提醒的是,采集的时候,如果指定了采集的页数范围,那么无论你粘贴的列表地址是第几页的,那么都将从你指定的范围进行采集(会根据你的列表分页链接替换模版处理)
  • 列表分页链接替换模版:当你的列表地址符合 【列表地址规则】后,将会根据你指定的采集范围和该替换模版获得后续采集的列表地址,比如 http://example.com/page/{$1},其中{$1} 代表页数的占位字符串,然后你指定的采集范围是 2|5,那么程序会自动生成列表页的地址,http://example.com/page/2、http://example.com/page/3 直到 http://example.com/page/5
  • 文章链接规则:仅支持 jquery 选择器,匹配列表中的文章链接标签,并获取到文章链接,如下图,文章的链接规则可以写成 h2 a,代表匹配所有 h2 标签下的所有 a 标签,程序会自动提取 a 标签下的链接

需要注意的是,列表分页规则写好之后,需要确保文章详情页的规则也已经配置好,程序的处理流程是:

  1. 粘贴列表页面的链接
  2. 根据链接匹配已配置的列表规则
  3. 根据配置的规则提取出文章链接
  4. 根据提取的文章链接去匹配文章详情页规则
  5. 根据详情页规则提取出文章内容并采集入库

评论