百度爬虫在进行抓取和处理时,是根据http协议规范来设置相应的逻辑的,所以请大家也尽量参考http协议中关于返回码的含义的定义进行设置。Baiduspider 对常用的http返回码的处理逻辑是这样的:
404 返回码的含义是 “Not Found”,百度会认为网页已经失效,那么通常会从搜索结果中删除,并且短期内 spider 再次发现这条 URL 也不会抓取。
503 返回码的含义是 “Service Unavailable”,百度会认为该网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况,都建议用503。对于网页返回503,百度 spider 不会把这条 URL 直接删除,短期内会再访问。届时如果网页已恢复,则正常抓取;如果继续返回503,短期内还会反复访问几次。但是如果网页长期返回503,那么这个 URL 仍会被百度认为是失效链接,从搜索结果中删除。
403 返回码的含义是 “Forbidden”,百度会认为网页当前禁止访问。对于这种情况,如果是新发现的URL,百度 spider 暂不抓取,短期内会再次检查;如果是百度已经收录的URL,当前也不会直接删除,短期内同样会再访问。届时如果网页允许访问,则正常抓取;如果仍不允许访问,短期内还会反复访问几次。但是如果网页长期返回403,百度也会认为是失效链接,从搜索结果中删除。
301 返回码的含义是 “Moved Permanently”,百度会认为网页当前跳转至新URL。当遇到站点迁移、域名更换和站点改版的情况时,推荐使用301返回码,尽量减少改版带来的流量损失。虽然百度spider 现在对301跳转的响应周期较长,但还是推荐大家这么做。