dede小说站采集规则

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文

第一部分:准备工作 (采集前必读)

在开始设置采集规则之前,请务必完成以下准备工作,这直接关系到你采集的成功率和效率。

dede小说站采集规则
(图片来源网络,侵删)
  1. 明确目标网站和版权问题

    • 版权:这是最重要的一点!采集他人内容有法律风险,请确保你有授权,或者采集的内容允许被转载(例如声明“本站内容来自网络,仅供试读,如侵犯您的权益,请联系我们删除”),很多小说网站会通过技术手段(如反爬虫、动态加载)来阻止采集,请尊重网站规则。
    • 目标站点:选择一个结构清晰、广告少、更新稳定的目标网站,笔趣阁、起点中文网、纵横中文网等,笔趣阁类的站点结构通常比较简单,适合新手。
  2. 分析目标网站结构

    • 列表页:找到小说列表页的URL规律。https://www.xxx.com/list/1.htmlhttps://www.xxx.com/list/2.html
    • 内容页:分析单个章节页面的HTML结构,打开一个章节页面,使用浏览器的“开发者工具”(F12)查看:
      • :通常在<h1><h2>或某个<div>标签内。
      • 章节正文:通常在<div id="content"><div class="read-content">div标签内,注意观察正文是否被<p>标签包裹。
      • 下一章链接:通常在<a class="next"><a>标签中包含“下一章”文字
  3. 本地环境测试

    • 强烈建议:先在本地搭建一个DedeCMS测试环境进行采集,确认规则无误后再部署到正式网站,避免直接在正式网站上操作,可能导致数据混乱。

第二部分:创建采集节点(核心步骤)

登录DedeCMS后台,依次进入 “采集” -> “采集管理” -> “增加采集节点”

dede小说站采集规则
(图片来源网络,侵删)

步骤1:填写节点基本信息

  • 节点名称:给你的采集节点起一个名字,笔趣阁-玄幻小说”。
  • 起始网址:填写你分析好的目标列表页URL。
  • 列表页/内容页:选择“列表”。
  • 目标目录:选择采集后小说存放的栏目,这个栏目必须是“文章模型”的栏目,如果还没有,请先在“栏目管理”中创建好。
  • 作者/来源:选择“来源”,你可以选择一个固定的来源,笔趣阁”,或者设置为从页面抓取。
  • 发布时间:选择“发布时间”,通常选择“从本地获取”,表示使用你采集时的时间,如果目标网站有时间,也可以尝试抓取。
  • 简介:选择“简介”,你可以选择“截取正文前200字”作为简介,或者专门设置抓取页面中的简介部分。

步骤2:设置列表规则

这是告诉DedeCMS如何从列表页中找到所有章节的链接。

  1. 链接

    • 选择方式:通常选择“选择”。
    • 链接目标:在右侧的源码区域,用鼠标选中列表页中每一个章节链接的<a>标签,DedeCMS会自动填充代码,通常为 class="listmain"class="chapterlist" 等,如果列表项有共同父级,可以先选中父级,再点击“选择”按钮下的“子链接”。
    • 测试:点击“测试”按钮,如果能正确解析出章节列表,就说明成功了。
    • 选择方式:选择“选择”。
    • 标题目标:在源码中,选中章节标题所在的标签,通常是<a>标签本身,DedeCMS会自动填充代码。
  2. 分页

    • 如果列表页有分页,需要在这里设置。
    • 链接:选中分页按钮的<a>
    • 目标:选中分页链接的href属性值。
    • 设置页码:设置起始页码和终止页码,1100

步骤3:设置内容规则

这是最关键的一步,告诉DedeCMS如何从每个章节页面中提取标题、正文等信息。

dede小说站采集规则
(图片来源网络,侵删)
    • 选择方式:选择“选择”。
    • 标题目标:在章节页面源码中,选中章节标题所在的标签,通常是<h1><div class="booktitle">
    • 选择方式:选择“选择”。
    • 内容目标:在章节页面源码中,选中包含所有正文内容的<div>标签,选中 <div id="content"><div class="content">
    • 过滤广告:这是难点,目标网站通常会在正文里插入广告,你需要仔细分析广告的HTML结构,然后在DedeCMS的“内容过滤”区域,使用正则表达式或直接输入广告代码来删除它们。
      • 示例:如果广告是 <div class="ad">...</div>,就在过滤规则里输入 <div class="ad">.*?</div>
      • 高级过滤:可以使用 strip_tags 函数移除特定标签,如 {dede:strip_tags}<script.*?</script>{/dede:strip_tags}
    • 如果章节正文被分成了多个页面(点击“下一页”),必须在这里设置。
    • 下一页链接:选中“下一页”按钮的<a>
    • 循环采集:勾选此项,DedeCMS会自动循环点击“下一页”,直到没有下一页为止,然后将所有页面的内容合并成一篇。
  1. 发布选项

    • 是否自动审核:建议勾选“是”,直接发布,省去手动审核的麻烦。
    • 是否采集图片:小说站通常不需要,可以不勾选。
    • 是否远程图片:同上,不勾选。

步骤4:高级设置

  • 自定义发布时间:可以设置一个随机的时间范围,让采集到的文章发布时间看起来更自然,避免所有文章都集中在同一分钟。
  • 自定义文章ID:通常使用默认即可。
  • Cookie:如果目标网站需要登录才能访问,你需要先登录目标网站,然后从浏览器中复制Cookie值,粘贴到这里。

第三部分:执行采集与维护

步骤5:执行采集

  1. 保存节点:完成所有规则设置后,点击“保存”按钮。
  2. 开始采集:在“采集管理”列表中找到你创建的节点,点击“开始采集”。
  3. 监控进度:系统会开始执行,你可以监控采集的进度和状态,如果出错,根据提示信息检查规则设置。

步骤6:后续维护

  • 更新采集:当你有新的章节时,可以再次进入该节点,点击“更新采集”,它会自动采集新发布的内容。
  • 规则失效:目标网站改版后,采集规则很可能会失效,你需要重新分析网站结构,并更新节点中的列表和内容规则。
  • 数据去重:DedeCMS有自动去重机制,但偶尔也可能出现问题,定期检查文章列表,删除重复内容。

第四部分:高级技巧与注意事项

  1. 使用“模拟登陆”

    对于需要登录的网站,除了设置Cookie,还可以在节点的高级设置中开启“模拟登陆”,这需要你提供登录的用户名、密码和提交地址,这种方法比手动复制Cookie更稳定。

  2. 使用“正则表达式”进行高级过滤

    • 当简单的标签过滤无法满足需求时,可以使用正则表达式,要删除所有<span>标签,可以使用 {dede:pregex replace=''}<span.*?</span>{/dede:pregex}
    • 要删除包含特定文字(如“请记住本域名”)的段落,可以使用 {dede:pregex replace=''}<p.*?请记住本域名.*?</p>{/dede:pregex}
  3. 使用“自定义字段”

    如果你想采集更多信息,比如小说状态(连载/完结)、字数、标签等,可以在栏目模型中添加自定义字段,然后在内容规则中设置对应的抓取规则。

  4. 尊重网站robots.txt

    • 在采集前,检查目标网站的robots.txt文件(https://www.xxx.com/robots.txt),了解他们禁止爬取的目录,遵守规则是良好的网络行为。
  5. 采集速度

    不要设置过高的采集频率,过于频繁的请求可能会被目标网站封禁IP,可以适当降低采集速度。

创建一个Dede小说站采集规则,本质上是一个“分析 -> 配置 -> 测试 -> 执行”的过程,耐心和细心是成功的关键,特别是对目标网站HTML结构的分析,直接决定了采集规则的成败,建议多在测试环境中反复调试,确保规则完美后再用于正式站点。

-- 展开阅读全文 --
头像
dede自己写采集工具
« 上一篇 今天
Horspool算法C语言实现步骤是怎样的?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码