搜索抓取

PDF、图片与附件:蜘蛛抓到非 HTML 资源后会怎么处理

蜘蛛抓取的不只有 HTML 页面,PDF、图片、Office 文档同样可能进入抓取队列。本文讲清这些资源是怎么被发现的、不同类型会被解析到什么程度、它们如何占用抓取额度,以及怎样通过链接锚文本、alt 文本、Sitemap 和响应头做取舍,让有价值的文件更容易被理解。

搜索抓取

PDF、图片与附件:蜘蛛抓到非 HTML 资源后会怎么处理

很多站点运营者默认蜘蛛只抓 HTML 页面,其实只要有链接指向,PDF、图片、Office 文档甚至压缩包都可能进入抓取队列。区别在于,抓取之后能不能被解析、能不能被理解,往往取决于你有没有给它足够的上下文。

蜘蛛是怎么发现这些非 HTML 资源的

非 HTML 资源很少自己出现在抓取队列里,它需要被某个入口带出来。常见的发现路径有这么几条:

  • 正文里的 a 链接,比如「下载产品说明书」指向一个 PDF;
  • img 标签引用的图片文件,包括正文配图和图集;
  • Sitemap 中直接列出的文件 URL;
  • 页面头部的资源引用,如 favicon、分享图。

也就是说,一个 PDF 能不能被抓到,先取决于它有没有被链接,而不是它本身有多重要。只放在服务器目录里、没有任何页面向它链接的下载文件,蜘蛛通常找不到。

不同类型资源,被处理的深度差别很大

PDF 与文档类文件

主流搜索引擎对 PDF 有一定解析能力,能提取正文文字,也允许这类文件出现在搜索结果里。但文件本身通常没有标题标签、没有内链、也没有结构化标记,蜘蛛能读到的信息比较单薄。文件元数据(标题、作者)以及链接旁边的文字,会成为判断内容的重要依据。

图片资源

图片会进入图片搜索的索引,但蜘蛛理解图片主要靠周边信息:文件名、alt 文本、图注、所在段落的文字。如果图片文件名是 IMG_2031.jpg,可用的信号就只剩上下文了。

压缩包与可执行文件

zip、rar、exe 这类文件一般会被登记 URL,但很少被解析成可检索的内容。它们更多是消耗一次抓取,而不是带来一个可被搜索的页面。批量提供这类下载的站点,要留意它们对抓取节奏的占用。

抓取额度有限时,这些资源怎么算账

每个文件都要占用一次请求。几个容易被忽略的消耗点:

  • 同一张图有原图、缩略图、多尺寸变体,可能产生多份 URL;
  • 图片带尺寸或裁剪参数,生成大量近似地址;
  • 大体积 PDF 单次抓取耗时长,返回慢;
  • 下载列表页一次性放出上千条链接。

如果站点本来抓取额度就不宽裕,这些资源会明显挤占 HTML 页面的抓取机会。

让有意义的资源更容易被理解

  1. 给稳定 URL:文件更新时尽量替换内容而不是换地址,避免同一份资料产生多个入口。
  2. 补上下文:链接锚文本写清文件主题,不要只写「点击下载」。
  3. 图片写 alt:简明描述图片内容,不要堆砌关键词。
  4. 控制变体:尺寸、裁剪等参数化地址,能用一套规范收敛就收敛。
  5. 按需列 Sitemap:只把真正希望被检索的文件放进清单,不必把整个上传目录塞进去。

不希望被抓的资源怎么控制

robots.txt 可以阻止蜘蛛请求某个目录,但它只是「别来抓」的约定,被阻止的 URL 仍然可能因为外部链接被登记。如果希望文件不出现在结果里,可以配合响应头中的 X-Robots-Tag 或页面级 noindex 指令。而涉及权限或隐私的文件,最稳妥的方式是不要放在公开可访问的路径下。

文件能被抓取,不等于会被检索。能不能被理解,取决于你有没有在链接、文件名和上下文里说明它是什么。

把非 HTML 资源当成页面来对待,给它稳定的地址、清楚的名字和合理的上下文,它才有机会被检索到;如果只是随手堆在服务器上,那它多半只会消耗抓取,不会带来流量。