网站抓取技巧及常见问题
什么是抓取诊断?博客之家简单举例以下几种。
1、我觉抓取诊断的最大作用是可以帮我们诊断一些我们看不到的内容,例如:网站如果出现被黑的情况,那么网站就有可能被挂黑链接、被隐藏了文字、隐藏链接等等,出现这样的情况只有通过这个工具诊断后才能最终得出结论,因此现在该功能正在被站长朋友广泛应用。
2、诊断抓取内容和预期的是否一样,譬如很多商品详情页面,价格信息是通过JavaScript输出的,对百度蜘蛛不友好,价格信息较难在搜索中应用,问题修正后,可用诊断工具再次抓取检验。
3、检查网站与百度的连接是否畅通,如下图,若是IP信息不一致,可以报错通知百度更新IP,这样确实能够给我们带来很多便利。
抓取诊断工具常见错误三大类型:
1,url不符合规范:网站链接即url不符合规范,例如长度超长(一般不超过1024个字符也就是512个汉字),出现过长的建议进行精简解决问题,或者动态字符过多(? # %等等,一般不超过3个),出现这样的建议安装一些相关插件进行链接优化,当然也可以采取其他方式。
2,301重定向问题:做了301重定向后跳转效果不佳,例如跳转到长度很长的链接,或者出现连续跳转现象并且次数超过5次,那么都有可能出现抓取失败,找到原因后可以进行针对优化。
3,服务器连接错误,这种情况是指,由于服务器响应过慢或我们的网站屏蔽了百度spider,而导致百度无法正常访问我们的网站,也因此导致百度无法正常收录或者更新我们网站的内容,最直接的后果就是不能获取排名,没有权重,具体错误表现方式:连接超时、连接失败、连接被拒、无响应、响应遭到截断、连接重置、标头遭到截断、超时。这些相对应的状态码大家可以到:五类常见http状态码含义详解查询。
常见问题处理方案:
1:服务器连接错误处理方案:
(1)少动态网页请求的过多网页加载,如果网站为多个网址提供相同内容,则会被视为动态提供内容,动态网页的响应时间可能会很长,并会因此导致超时问题,或者,服务器可能会返回超载状态,要求百度spider放慢抓取该网站的速度,一般来说,我可以尽量使用简短的参数并谨慎使用。
(2)必须确保网站的托管服务器没有停止运行、超载或配置不当等情况发生,如果连接问题、超时问题或响应问题仍然存在,那么就需要和的网站托管服务提供商联系,并考虑增强我们的网站处理流量的能力。
(3)检查网站是否不小心屏蔽了百度spider的IP,我们可能会由于系统级问题而阻止了百度访问,例如DNS配置问题、配置不当的防火墙或DoS防护系统、内容管理系统配置问题,防御系统是保证托管服务正常运行的关键因素之一,并且这些系统通常会配置为自动阻止超量的服务器请求,由于百度spider发出的请求通常要比普通用户多,因此可能会触发这些防御系统,导致它们阻止百度spider访问并抓取我们的网站,要解决此类问题,我们需要确定网站基础架构中的哪个部分在阻止百度spider,然后取消该阻止,如果我们没有控制防火墙的权限,就需要与我们的托管服务提供商联系解决此问题。
2、robots封禁了造成抓取异常或者失败怎么办?在抓取诊断工具中如果返回的抓取失败结论是robots封禁,这个时候就需要检查是否对该网址设置了robots,阻止百度spider抓取网站的某些内容,如果我们未使用robots文件屏蔽百度,那么可以点击旁边的报错链接,百度会立即更新我们站点的robots信息;如果是我们的错误操作导致了封禁,需要及时修改robots文件,避免造成我们的网站在百度收录量和流量的下降。
3、DNS问题:DNS错误是指由于服务器停止运行或DNS到您网域的路由存在问题,导致百度spider无法与DNS服务器通信。
如何处理DNS错误?为了确保百度能够正常抓取我们的网站,我们需要对网站网页进行测试,首先我们可以对重要网页(例如网站的首页)采用抓取诊断工具,如果它能顺利返回网站的首页内容,那么我们就可以认为百度能够正常访问您的网站。
当然,万一持续性的或反复出现的DNS错误,那么只有和空间商或者是服务器商联系解决,通常情况下,DNS提供商就是空间服务器供应商,配置我们的服务器,使其能够以404或500等HTTP错误代码对不存在的主机名作出响应。
5、404错误,一般来说,只有当百度spider访问到不存在的网页时,会出现404 HTTP状态代码,那么这种情况正常是我们自身问题,例如:我们网站更改了url或者删除了某个网页,而且没有做好301重定向而造成的死链接,当然,在做网站改版的时候,没有做好301 的话也会出现大量的死链接404。
6、访问遭拒绝,一般情况下,百度会通过跟踪网页间的链接来查找内容,百度spider必须能够访问某个网页才能抓取该网页,如果您意外地看到了“访问遭拒”错误,可能是由于以下几种原因导致的:
(1)百度spider无法访问我们网站上的网址,因为我们网站上的所有或部分内容要求用户登录后才能查看,这时候需要解除设置登录权限。
(2)我们的服务器要求用户使用代理进行身份验证,或者我们的空间提供商阻止百度spider访问我们的网站,出现这种情况也要及时和相关服务商联系解决。
7、参数错误:由于请求的语法格式有误,不符合服务器对请求的某些限制,或者请求本身存在一定的错误,服务器无法理解此请求,导致抓取失败。
8、socket读写错误:当百度spider访问服务器,进行tcp通信的时候,socket读写发生异常,导致数据不能正常返回,需要检查服务器连接状况和防火墙设置是否符合预期。
9、读取http头或者页面内容时失败:服务器收到了百度spider的完整请求,但是返回信息时不完整,http头或者响应正文发生了截断,导致网页内容不能正常读取。
日期:2018年02月20日 22:43:55 星期二 分类:
好文分享 浏览(47650)
本文地址:https://www.blogs.hk/post-3592.html [
百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
留言咨询