dede 输入网址采集单个网页

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

核心功能:远程采集

这个功能允许你指定一个远程网页的 URL,DedeCMS 会自动抓取该网页的内容,并根据你设定的规则,将标题、内容、图片等提取出来,然后自动发布到你的网站系统中。

dede 输入网址采集单个网页
(图片来源网络,侵删)

详细操作步骤

第一步:准备工作(非常重要)

在开始采集之前,请务必完成以下设置,否则会失败:

  1. 开启 allow_url_fopen

    • 这是 PHP 的一个核心配置,允许 PHP 通过 URL 访问文件(比如网页),你的服务器必须开启这个功能。
    • 如何检查/开启:在你的网站根目录下创建一个名为 phpinfo.php 的文件,内容为 <?php phpinfo(); ?>,然后在浏览器中访问这个文件。
    • 在打开的页面中,按 Ctrl+F 搜索 allow_url_fopen,如果它的值是 On,则已开启;如果是 Off,你需要联系你的服务器空间商,让他们帮你修改 php.ini 配置文件,将 allow_url_fopen = Off 改为 allow_url_fopen = On
  2. 确保目标网页可访问

    • 你要采集的网址必须是真实可访问的。
    • 一些网站有反爬虫机制,可能会直接拒绝来自脚本的访问,导致采集失败。
  3. 获取目标网页的编码

    dede 输入网址采集单个网页
    (图片来源网络,侵删)
    • 很多网页的编码是 UTF-8,但有些是 GB2312GBK,如果你的网站是 UTF-8 编码,而去采集一个 GB2312 编码的网页,采集到的内容就会出现乱码。
    • 如何获取编码:用浏览器打开目标网页,在空白处点击右键,选择“查看网页源代码”,在源代码的头部找到类似 <meta charset="UTF-8"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 的语句,记下 charset 后面的值。

第二步:登录 DedeCMS 后台

登录你的 DedeCMS 管理后台。

第三步:进入远程采集模块

在后台左侧的菜单栏中,找到并点击: 采集 -> 远程采集

第四步:创建新的采集任务

进入远程采集页面后,你会看到任务列表,点击右上角的 “增加新采集任务” 按钮。

第五步:填写采集任务信息

这是最关键的一步,你需要根据目标网页的结构来填写以下信息:

dede 输入网址采集单个网页
(图片来源网络,侵删)
  1. 基本配置

    • 任务名称:给你的采集任务起个名字,方便日后管理,采集XX新闻”。
    • 起始网址在这里输入你想要采集的那个完整的网页地址。
    • 列表网址:因为我们只采集单个网页,所以这里可以留空,或者和“起始网址”填成一样的。
    • 列表链接:留空。
    • 列表命名规则:留空。
    • 目标编码选择或填写你之前查找到的目标网页的编码(如 UTF-8, GB2312 等),如果选错,内容会乱码。
    • 保存位置:选择采集到的文章要保存到哪个栏目(频道)下。
    • 作者:可以设置一个默认作者,或者选择“保留原网址作者”。
    • 来源:可以设置一个默认来源,或者选择“保留原网址来源”。
  2. 采集规则(核心中的核心)

    • 文章命名规则:设置采集到的文章标题的命名方式,可以使用 [field:title] 等变量。
    • 链接:因为我们只采一个页面,所以这里可以留空,或者和“起始网址”一致。
    • 选择这是最关键的一步!
      • 你需要回到目标网页,用鼠标选中你想要采集的文章正文部分开始,一直拖动到文章末尾)。
      • 选中后,不要复制,而是观察浏览器左下角的状态栏,它会显示类似 id="content"class="article-content" 这样的 HTML 标签和 ID/CLASS 名称
      • 将这个 ID 或 CLASS 名称 填入“文章内容选择”的输入框中。
        • 如果是 ID,格式为:#content
        • 如果是 CLASS,格式为:.article-content
      • 示例:如果选中后,状态栏显示 id="post_body",那么就在这里填入 #post_body
  3. 采集规则

    • 链接:留空。
    • 选择:和设置内容规则一样,回到目标网页,用鼠标选中文章标题
    • 的 ID 或 CLASS 名称,填入这里。
      • <h1> 标签有 id="article-title",就填入 #article-title
      • <h2> 标签有 class="main-title",就填入 .main-title h2
  4. 文章图片处理

    这里可以设置是否下载文章里的图片到你的服务器,以及是否为图片添加水印等,可以根据需要开启。

  5. 分页采集

    如果你要采集的文章有多页(下一页”),你需要在这里设置“下一页”链接的规则,如果是单页,可以忽略此部分。

第六步:测试与保存

填写完所有规则后,不要急着保存,先进行测试:

  1. 点击页面底部的 “浏览”“测试” 按钮。
  2. 系统会抓取你设定的起始网址,并按照你填写的规则进行解析。
  3. 在弹出的预览窗口中,检查和是否正确提取出来了,没有乱码,没有多余的广告等。
  4. 如果预览效果完美,点击 “保存” 按钮,这个采集任务就创建成功了。

第七步:执行采集

任务创建成功后,你会回到任务列表,找到你刚刚创建的任务,点击右侧的 “开始采集” 按钮。

系统会再次抓取网页并按照规则保存,完成后,你会提示你采集了多少篇文章,你可以去你设置的栏目里查看采集到的文章了。


常见问题与注意事项

  1. 采集失败或内容为空

    • 原因:通常是“文章内容选择”或“文章标题选择”的规则写错了,请仔细检查目标网页的源代码,确保你填写的 ID 或 CLASS 是正确的。
    • 解决:重新测试,修改规则,直到预览正确为止。
  2. 乱码

    • 原因:“目标编码”设置错误。
    • 解决:修改“目标编码”为你网页的正确编码(UTF-8GB2312)。
  3. 采集到很多无关内容(广告、菜单等)

    • 原因:你在“文章内容选择”时,选中的区域太大了,包含了正文以外的部分。
    • 解决:回到目标网页,更精确地只选中文章正文部分,然后获取其 ID 或 CLASS。
  4. 网站有登录才能访问

    • DedeCMS 的远程采集功能不支持需要登录才能访问的网页,这种高级需求需要定制开发或使用更专业的爬虫工具。
  5. 尊重版权和 robots.txt

    • 采集他人内容时,请务必尊重版权,遵守网站的 robots.txt 协议,不要对对方服务器造成过大压力,仅供学习和个人使用。

通过以上步骤,你应该就能成功使用 DedeCMS 的远程采集功能,通过输入网址来采集单个网页了,祝你成功!

-- 展开阅读全文 --
头像
织梦UCenter配置时如何实现数据互通?
« 上一篇 01-03
织梦include/inc目录有何安全风险或配置技巧?
下一篇 » 01-03

相关文章

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

目录[+]