很多站点的抓取问题不在正文页,而在图片、视频和附件这些「配角」身上。它们体积大、路径杂、加载方式多变,一旦处理不当,蜘蛛会在这些资源上花掉不少时间,却拿不到多少有价值的内容。
图片:让蜘蛛能找到、也能理解
图片被抓取通常依赖两个条件:页面里的 img 标签能被解析,以及图片地址本身可访问,不需要登录或额外的请求头。
懒加载要留意首屏
用 JavaScript 做懒加载时,如果首屏图片的 src 是占位图,真实地址写在 data-src 里,蜘蛛看到的往往还是那张占位图。常见做法是把首屏图片直接写进 src,其余图片保留懒加载;或者同时给出 noscript 里的 img 标签作为兜底。
文件名与 alt 是低成本的信息
- 文件名用简短的英文或拼音描述内容,避免 IMG_2031.jpg 这类无意义命名;
- alt 写清楚图片表达的内容,不要堆砌关键词;
- 图片尺寸保持在合理范围,超大原图对用户和蜘蛛都不友好。
图片站点地图
如果站内图片数量多、更新稳定,可以在 sitemap 的 url 节点下加 image 扩展,或者用独立的图片站点地图把地址列出来。这不代表一定被收录,但能给蜘蛛一个明确的入口。
视频与音频:页面才是抓取入口
蜘蛛不会像用户那样「播放」视频。能被抓取和理解的内容,通常是承载视频的那个页面:标题、简介、时长、封面图和字幕文本。
- 每个视频尽量有独立的详情页,而不是全部塞在同一个列表页里;
- 页面上给出文字说明,让蜘蛛知道这段视频讲了什么;
- 使用自建播放器时,确认播放地址不会因为权限校验而返回 403;
- 如果嵌入第三方平台,至少保证 iframe 之外的页面文字信息是完整的。
附件与下载文件:别让大文件吃掉抓取
PDF、Excel、压缩包这类文件,蜘蛛通常不会深入解析内容,但会请求它们。如果站内有大量体积巨大的附件,又被内链反复引用,抓取和带宽都会受影响。
- 确认哪些附件是真正需要对外公开的;
- 仅供内部使用的文件放到需要权限的目录,用 robots.txt 或访问控制挡住;
- 下载文件尽量集中在独立目录,便于统一管理和后续观察;
- 检查是否存在旧版本附件被反复引用,及时替换成最新地址。
媒体资源的原则很简单:能被用户正常看到的内容,也应该能被蜘蛛正常请求到;不该公开的,就在服务器层面挡掉,而不是指望蜘蛛「看不见」。
一个简单的自查顺序
- 随机挑十个页面,用抓取工具查看 HTML 源码里图片的真实地址;
- 翻服务器日志,看图片和附件的请求是否出现大量 404 或 403;
- 确认媒体资源没有和正文页共用同一批容易被封禁的路径;
- 更新一批媒体资源后,隔几天再看一次抓取记录,确认请求行为正常。
媒体资源不是站点运营的主角,但它们决定了蜘蛛在站内的时间花在哪里。把路径理清楚、把不该公开的挡住,通常比追求「每个文件都被收录」更有意义。