dede采集列表标题为图片连接

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 DEDE建站 正文
  1. 在“选择列表范围”环节:正确地定位到那张图片所在的HTML标签。
  2. 在“设置列表属性”环节:将图片的 src 属性(或 href 属性)作为“标题链接”和“标题图片”来抓取。

下面是详细的图文步骤和代码示例,请根据你的目标网站结构调整。

dede采集列表标题为图片连接
(图片来源网络,侵删)

操作步骤

第一步:打开采集管理并创建新规则

  1. 登录你的DedeCMS后台。
  2. 在顶部菜单栏找到 “采集” -> “网站采集”
  3. 点击 “增加新采集”,进入采集规则配置页面。

第二步:填写网站基本信息

  • 网站名称: 填写一个你方便识别的名称,XX图片新闻站”。
  • 网站主页: 填写目标网站的首页地址。
  • 列表网址: 填写包含你想要采集的列表页的URL,这里可以使用通配符 来匹配多页, http://www.example.com/news/list_*.html
  • 编码: 选择目标网站使用的字符编码,通常是 UTF-8GB2312,如果不确定,可以先随便选一个,在预览时根据实际情况调整。
  • 采集间隔: 设置一个合理的抓取间隔,避免对对方服务器造成太大压力(建议3-5秒以上)。

第三步:设置“列表范围”(最关键的一步)

这一步的目的是告诉DedeCMS,在列表页的HTML代码中,哪些部分是每一条独立的新闻/文章

  1. 列表开始标记: 点击旁边的“选择”按钮,会弹出一个窗口,显示目标列表页的HTML源码。
  2. 在源码中,找到包裹着第一条新闻的起始标签,通常会是 <div class="news-item"><li class="list-item"><table> 等。
  3. 用鼠标选中这个起始标签(包括标签本身),然后点击“选择”。
  4. 列表结束标记: 同样地,找到包裹着第一条新闻的结束标签。</div></li></table>
  5. 用鼠标选中这个结束标签,然后点击“选择”。

完成这一步后,DedeCMS就知道要从哪里到哪里去提取单条信息了。

第四步:设置“列表属性”(核心步骤)

为图片链接”的关键,在“列表属性”区域,你会看到几个需要填写的字段。

图片本身是 <a> 标签(最常见)

这种情况是图片被包裹在一个超链接 <a> 标签里,点击图片就跳转到文章页。

dede采集列表标题为图片连接
(图片来源网络,侵删)

HTML结构示例:

<a href="http://www.example.com/article/123.html">
    <img src="http://www.example.com/images/thumb_123.jpg" alt="文章标题">
</a>

DedeCMS设置方法:

  1. 标题链接:

    • 点击“选择”按钮,在弹出的窗口中定位到 <a>
    • 在右侧的“属性”下拉菜单中,选择 href
    • 这样,DedeCMS就会把 <a> 标签里的 href 属性值(即文章的真实链接)抓取过来,作为这条记录的链接。
  2. 标题图片:

    dede采集列表标题为图片连接
    (图片来源网络,侵删)
    • 再次点击“选择”按钮,在弹出的窗口中定位到 <img>
    • 在右侧的“属性”下拉菜单中,选择 src
    • 这样,DedeCMS就会把 <img> 标签里的 src 属性值(即图片的地址)抓取过来,作为这条记录的标题图片。
    • 这种情况下,图片的 alt 属性通常就是文章的标题。
    • 点击“选择”按钮,定位到 <img>
    • 在右侧的“属性”下拉菜单中,选择 alt
    • alt 属性为空,你也可以抓取 <a> 标签内的文本内容(如果有的话),或者选择“不采集标题”,之后在后台手动填写。

图片是 <img> 标签,但外层 <a> 标签的链接是文章链接

这种情况和场景一类似,只是 <a><img 的嵌套关系可能不同,但抓取方法完全一样。

HTML结构示例:

<div class="news-box">
    <a href="http://www.example.com/article/456.html">
        <img src="http://www.example.com/images/thumb_456.jpg">
    </a>
    <h3><a href="http://www.example.com/article/456.html">文章标题文字</a></h3>
</div>

DedeCMS设置方法:

  • 标题链接: 选择外层的 <a> 标签,属性选 href
  • 标题图片: 选择 <img> 标签,属性选 src
  • 可以选择抓取 <h3> 里的 <a> 标签的文本,或者 <img>alt 属性。

图片的 src 本身就是链接(不常见)

这种情况是图片直接链接到文章页,没有 <a> 标签包裹。

HTML结构示例:

<img src="http://www.example.com/article/789.html" alt="文章标题">

DedeCMS设置方法:

  1. 标题链接:

    • 选择 <img>
    • 在“属性”下拉菜单中,选择 src
    • 这样,图片的地址就被当作了文章的链接。
  2. 标题图片:

    • 这种情况比较特殊,因为 src 已经被用作链接了,你需要一个备用的缩略图地址。
    • 检查HTML中是否有其他地方存放了缩略图,比如一个 data-src 属性,或者旁边有一个独立的缩略图 <img>
    • 如果找不到,你可能需要先采集文章链接,然后在“内容页采集”环节去抓取文章内的图片作为缩略图。

第五步:设置“内容页范围”

设置好列表后,你需要告诉DedeCMS如何进入文章的详情页并抓取内容。

  1. 点击“选择”,在弹出的窗口中,定位到文章详情页的区域
  2. 选择包裹正文内容的起始和结束标签(<div class="article-content"></div>)。
  3. : 系统通常会自动识别,你可以手动确认一下。
  4. 发布时间: 选择存放发布时间的标签和属性(通常是 <span class="date"> 里的文本)。
  5. 内容分页: 如果文章有分页,需要设置分页规则。
  6. 作者: 选择存放作者信息的标签和属性。

第六步:保存并测试

  1. 点击页面底部的 “保存” 按钮。
  2. 保存成功后,回到“网站采集”主页面,找到你刚创建的规则。
  3. 点击 “开始采集”“测试采集”
  4. 在测试结果中,仔细检查 标题链接标题图片、 这几项是否都抓取正确。
  5. 如果一切正常,就可以开始正式采集了。

常见问题与解决方法

  • 问题1:抓取不到图片链接或链接为空。

    • 原因: srchref 属性可能使用了相对路径(如 ../images/abc.jpg/images/abc.jpg)。
    • 解决: DedeCMS通常能自动处理相对路径,但如果不行,你可能需要在后台配置“远程站点目录”,或者在采集后通过“批量维护” -> “远程文件本地化”功能来转换路径。
  • 问题2:图片链接是JS动态加载的。

    • 原因: 图片的 src 属性可能是空的,或者是一个占位符,真正的图片地址是通过JavaScript动态赋值的。
    • 解决: DedeCMS的采集器无法执行JavaScript,这种情况下无法直接采集,你需要寻找一个能直接提供图片真实地址的API或隐藏的 data-src 属性。
  • 问题3:采集到的链接是列表页的链接,而不是文章详情页的链接。

    • 原因: 在设置“标题链接”时,错误地选择了列表项容器(如 <div>)的链接,或者没有正确找到指向详情页的 <a>
    • 解决: 仔细检查HTML结构,确保你选择的是那个能跳转到独立文章页面的 <a> 标签,并正确选择了 href 属性。

希望这份详细的教程能帮助你成功设置DedeCMS的采集规则!

-- 展开阅读全文 --
头像
timeGetTime在C语言中如何精确计时?
« 上一篇 01-03
Compilation C语言如何高效优化代码?
下一篇 » 01-03

相关文章

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