当前位置:首页 > 短网址资讯

FT12短网址教你如何甄别真假百度蜘蛛

www.ft12.com9年前 (2017-07-21)短网址资讯1907

尽管百度的口碑并不好,可是不可否认的是,它一直是中文搜索中的霸主,所以对大多数中小型商业公司而言,都对baidu蜘蛛的抓取做法予以放行,不过还有许多不合法的蜘蛛,它们会经过 User-Agent 把自个伪装成baidu蜘蛛,此刻如果单纯以 User-Agent 来判别是不是是baidu蜘蛛就不适宜了。尽管网上能找到许多现成的baidu蜘蛛 IP 段,可是并不能确认它们的准确性,所以我计划自个搜集,进而鉴别真假baidu蜘蛛。

实际上baidu在常见问题解答中给出了鉴其他办法:当有 User-Agent 是 Baiduspider 的恳求时,咱们能够经过 host 指令反解 ip 来判别,Baiduspider 的 hostname 以 *.baidu.com 或 *.baidu.jp 的格局命名,其它的则能够视为不合法的蜘蛛。短网址的后台也经常见到这些IP的访问。

留意:有的baidu蜘蛛服务器并不遵守此规矩,本事例中无视它们。

为何baidu不自动发布它自个的 IP 段呢?这么咱们就方便了啊!答案八成是由于它怕他人封禁短网址,正所谓君子坦荡荡,小人常戚戚。比方 AWS 就发布了自个的 IP 段。

下面咱们将测验经过 log 历史数据来找出真实的baidu蜘蛛,假设 log 格局如下;

1.2.3.4 … “Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)”

简略 shell 即可完成,经过剖析我的 log,终究能够拿到几百个baidu蜘蛛的 IP:

shell> awk '$0 ~ "Baiduspider" {print $1}' /path/to/log \
    | xargs -n1 -I {} sh -c 'echo -en {} "\t"; host {}' \
    | awk '$NF ~ "\\.baidu\\.(com|jp)\\.$" {print $1}' > baidu

123.125.71.100
123.125.71.101
123.125.71.102
123.125.71.103
123.125.71.104
123.125.71.105
...

由于成果集太臃肿了,所以我拍脑袋做了一个 24 位的 CIDR 处理:

shell> awk -F. -v OFS=. '{print $1, $2, $3, "0/24"}' baidu | sort -u

119.63.195.0/24
119.63.198.0/24
123.125.66.0/24
123.125.71.0/24
180.76.15.0/24
180.76.5.0/24
220.181.108.0/24

此外,以下 IP 是我经过其他路径获取的baidu IP 列表,其间有些数据无法经过 hostname 的办法来辨认,可是经过FT12短网址的判别,根本能够判定属于baidu,咱们能够自行判别:

61.135.165.0/24
61.135.169.0/24
61.135.190.0/24
111.206.36.0/24
112.80.254.0/24
115.239.212.0/24
123.125.67.0/24
220.181.51.0/24
220.181.165.0/24

如此成果集就精简多了,以后短网址和短链接的后台如果发现这些IP,大家就明白了。今后再有 User-Agent 是 Baiduspider 的恳求进来时,咱们只需简略判别一下 IP 是不是在 CIDR 成果中即可,是则予以放行。当然,这篇文章中baidu蜘蛛的 IP 数据也能够用在其他地方,比方制止baidu访问。 ?


扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_311.html

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

生成的短链接的后面几位字母忘了怎么办?

 在短链接的日常使用中,经常会发生一件很尴尬的事情:当你想要打开一个自己以前生成的短连接的时候,发现最后几位字母忘了,特别是短连接最后几位还是区分大小的。如果大小写记不清楚,仍然无法打开正确的网址。那么这个时候该怎么办呢?小编这里…

HTTP的长连接和短连接

HTTP的长连接和短连接

 本文总结&分享网络编程中涉及的长连接、短连接概念。    关键字:Keep-Alive,并发连接数限制,TCP,HTTP一、什么是长连接     HTTP1.1…

O2O进入下半场,百度或携人工智能实现弯道超车?

近日,百度外卖副总裁陈锦晖宣布辞职的消息刷爆了互联网,百度外卖业务要出售给顺丰的消息也时有流出。正如美团CEO王兴所言,国内O2O行业已经进入了“下半场”。随着移动互联网人口红利减退,烧钱竞争所带来的粗放式增长已经告一段落。 实际上在今年第…

全球纯电动车制造商出货量排名:特斯拉仅第二

全球纯电动车制造商出货量排名:特斯拉仅第二

提到电动汽车,我们往往首先想到的是特斯拉,然而根据一份最新调查数据显示,特斯拉并非全球最大的电动汽车制造商。据JATO数据提供商最新公开的纯电动车制造商排名显示,目前雷诺-日产是全球最大的纯电动车制造商,特斯拉排在第二位,其它前十名厂商分别…

PHP编程需要掌握的20个要点,能极大提高效率

PHP编程需要掌握的20个要点,能极大提高效率

[摘要] 用单引号取代双引号来包括字符串,这样做会更快一些。由于PHP会在双引号包抄的字符串中征采变量,单引号则 不会,留意:只要echo能这么做,它是一种能够把多个字符串看成参数的“函数”用单引号取代双引号来包括字符串,这样做会更快一些。…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。