查看日志,为什么抓取的URL是重复错乱的 悬赏1元 已结束
以下是图中两条完整的抓取记录
/news/news/show/id/558/news/show/id/UWB/news/show/id/487/news/show/id/487 - 80 - 154.212.186.66 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu。Com/search/spider.html) http://www.nicerf。Cn/[?] 301 0 0 0
/news/news/show/id/558/news/show/id/UWB/news/show/id/487/news/show/id/487 - 443 - 154.212.186.66 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu。Com/search/spider.html[?]) http://www.nicerf。Cn/ 200 0 0 140
[?]
1 抓取的链接是有有问题的,正确的应该是/news/show/id/558.抓取的是“/news/news/show/id/558/news/show/id/UWB/news/show/id/487/news/show/id/487”。明显错误了,直接复制加上域名打开是网页列表,这也能解释了为什么站长工具最近几个月收录时一直收录新闻网页列表(这个问题还在SO平台提出过)。值的注意的是,有一次点击新闻列表时发现没有跳转新闻详情页,而是还在列表页面,URL也变长了,但不确定是不是和日志里面这样。我个人认为是不是服务器宽带的问题不够,访问有压力。但大部分都能点进去,没理由日志抓取的链接都是这种重复错误的。
2 查了抓取记录里面的 IP“154.212.186.66” 站长工具查真假百度蜘蛛说的是 假(其它百度IP站长说是真),百度搜了一下运营商是一个法国的(同样搜了百度其它IP运营商显示中国电信)。百度蜘蛛为什么不抓新闻页,只抓商品或者原来的死链(第三个171开头的是BING蜘蛛)
3 最后一个疑惑点是 抓取记录我们网站为什么是 http 而不是HTTPS 我们都上传了SSL证书
看推推蛙大神的回答
一些可能导致URL抓取出现重复错乱问题的常见原因和解决建议:
抓取逻辑问题:如果您的抓取脚本或工具的逻辑有误,可能会导致URL被重复抓取或者抓取错误的URL。
URL去重机制不足:在抓取过程中,如果没有有效的URL去重机制,或者去重机制不够健壮,可能会导致URL的重复抓取。
并发控制不当:如果在并发抓取时没有正确地控制并发线程或进程的数量,可能会导致URL的错乱和重复。
数据存储问题:在将抓取到的URL存储到数据库或其他存储系统时,可能会因为存储逻辑的问题导致数据重复或错乱。
网络问题:不稳定的网络连接可能导致请求失败或重复,从而引起URL的重复抓取。
目标网站的反爬虫措施:一些网站可能会通过动态生成URL、使用JavaScript渲染内容等方式来防止被抓取,这可能会导致抓取工具无法正确解析页面。
以下是一些可能的解决措施:
检查并优化抓取逻辑:确保您的抓取逻辑能够正确处理URL,并且有有效的去重机制。
使用合适的数据结构:比如使用集合(Set)来存储已抓取的URL,因为集合天然具有去重的特性。
增强并发控制:合理地设置并发线程或进程的数量,避免因为并发过高导致的问题。
优化数据存储:确保在存储数据时不会产生重复,可以通过数据库的唯一索引等机制来实现。
处理网络问题:增加重试机制,处理网络波动导致的问题。
应对反爬虫措施:如果可能,使用更高级的抓取技术,比如模拟浏览器行为,来应对目标网站的反爬虫策略。
推娃娃写的多,他对
我觉得是统计有点问题
看推推蛙大神的回答