搜外网>搜外问答>问答页面

查看日志,为什么抓取的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证书 

追加问题
    10 人参与回答
天行健咨询
天行健咨询 · 精益生产管理与六西格玛管理咨询,培训机构

在抓取过程中,如果没有有效的URL去重机制,或者去重机制不够健壮,可能会导致URL的重复抓取

看推推蛙大神的回答

网站开发(QQ214875213)
网站开发( · dazhe5 .cn站长

这个我也碰到过,我是把错乱的url做301跳转到正确的url,过段时间他就听话了

一些可能导致URL抓取出现重复错乱问题的常见原因和解决建议:

抓取逻辑问题:如果您的抓取脚本或工具的逻辑有误,可能会导致URL被重复抓取或者抓取错误的URL。
URL去重机制不足:在抓取过程中,如果没有有效的URL去重机制,或者去重机制不够健壮,可能会导致URL的重复抓取。
并发控制不当:如果在并发抓取时没有正确地控制并发线程或进程的数量,可能会导致URL的错乱和重复。
数据存储问题:在将抓取到的URL存储到数据库或其他存储系统时,可能会因为存储逻辑的问题导致数据重复或错乱。
网络问题:不稳定的网络连接可能导致请求失败或重复,从而引起URL的重复抓取。
目标网站的反爬虫措施:一些网站可能会通过动态生成URL、使用JavaScript渲染内容等方式来防止被抓取,这可能会导致抓取工具无法正确解析页面。
以下是一些可能的解决措施:

检查并优化抓取逻辑:确保您的抓取逻辑能够正确处理URL,并且有有效的去重机制。
使用合适的数据结构:比如使用集合(Set)来存储已抓取的URL,因为集合天然具有去重的特性。
增强并发控制:合理地设置并发线程或进程的数量,避免因为并发过高导致的问题。
优化数据存储:确保在存储数据时不会产生重复,可以通过数据库的唯一索引等机制来实现。
处理网络问题:增加重试机制,处理网络波动导致的问题。
应对反爬虫措施:如果可能,使用更高级的抓取技术,比如模拟浏览器行为,来应对目标网站的反爬虫策略。

奋力向前
奋力向前 · 第三方软件测试报告

很多攻击者借助百度蜘蛛的user-agent来进行注入和猜测,很是讨厌。也不能屏蔽百度蜘蛛吧,只能通过404这类返回。

推娃娃写的多,他对

格栏特铝合金脚手架
格栏特铝合 · 广州格栏特是一个铝合金脚手架的出租售卖的公司,量大从优!需要的联系138-2600-2184微信同步

推推娃大佬说得不错

我觉得是统计有点问题

看推推蛙大神的回答

推推蛙
推推蛙 · 擅长SEOSEM爱采购诊断、方案编写、优化运维。微信:tuituiwaseo

1、百度真蜘蛛,只抓取前端已有通道的URL;
2、首先要检查下,那个错乱的URL,是否前端有地址,如果没有,那么这种不是蜘蛛去抓取;
3、不存在的URL,正常返回码是404,属于死链接为佳。
ps:错乱URL,返回码200,也需要关注下,后期是否会放出这类URL,确保前端URL没有错乱URL