国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

如何準確判斷請求是搜索引擎爬蟲(蜘蛛)發(fā)出的請求?

2019-11-14 17:30:26
字體:
來源:轉載
供稿:網友

網站經常會被各種爬蟲光顧,有的是搜索引擎爬蟲,有的不是,通常情況下這些爬蟲都有UserAgent,而我們知道UserAgent是可以偽裝的,UserAgent的本質是Http請求頭中的一個選項設置,通過編程的方式可以給請求設置任意的UserAgent。 

所以通過UserAgent判斷請求的發(fā)起者是否是搜索引擎爬蟲(蜘蛛)的方式是不靠譜的,更靠譜的方法是通過請求者的ip對應的host主機名是否是搜索引擎自己家的host的方式來判斷。

要獲得ip的host,在windows下可以通過nslookup命令,在linux下可以通過host命令來獲得,例如:

這里我在windows下執(zhí)行了nslookup ip 的命令,從上圖可以看到這個ip的主機名是crawl-66-249-64-119.googlebot.com。 這說明這個ip是一個google爬蟲,google爬蟲的域名都是 xxx.googlebot.com.

我們也可以通過python程序的方式來獲得ip的host信息,代碼如下:

import socketdef getHost(ip):    try:        result=socket.gethostbyaddr(ip)        if result: return result[0], None    except socket.herror,e:        return None, e.message

上述代碼使用了socket模塊的gethostbyaddr的方法獲得ip地址的主機名。

常用蜘蛛的域名都和搜索引擎官網的域名相關,例如:

  • 百度的蜘蛛通常是baidu.com或者baidu.jp的子域名
  • google爬蟲通常是googlebot.com的子域名
  • 微軟bing搜索引擎爬蟲是search.msn.com的子域名
  • 搜狗蜘蛛是crawl.sogou.com的子域名

基于以上原理,我寫了一個工具頁面提供判斷ip是否是真實搜索引擎的工具頁面,該頁面上提供了網頁判斷的工具和常見的google和bing的搜索引擎爬蟲的ip地址。

頁面地址:http://outofmemory.cn/tools/is-search-engine-spider-ip/ 

本文提供的代碼是python代碼,通過c#代碼也是可以實現(xiàn)的,原理是一樣的。

附帶常見搜索引擎蜘蛛的IP段:

蜘蛛名稱IP地址
Baiduspider

202.108.11.* 220.181.32.* 58.51.95.* 60.28.22.* 61.135.162.* 61.135.163.* 61.135.168.*

YodaoBot

202.108.7.215 202.108.7.220 202.108.7.221

Sogou web spider

219.234.81.* 220.181.61.*

Googlebot

203.208.60.*

Yahoo! Slurp

202.160.181.* 72.30.215.* 74.6.17.* 74.6.22.*

Yahoo ContentMatch Crawler

119.42.226.* 119.42.230.*

Sogou-Test-Spider

220.181.19.103 220.181.26.122

Twiceler

38.99.44.104 64.34.251.9

Yahoo! Slurp China

202.160.178.*

Sosospider124.115.0.*
CollapsarWEB qihoobot

221.194.136.18

NaverBot

202.179.180.45

Sogou Orion spider

220.181.19.106 220.181.19.74

Sogou head spider

220.181.19.107

SurveyBot

216.145.5.42 64.246.165.160

Yanga WorldSearch Bot v

77.91.224.19 91.205.124.19

baiduspider-mobile-gate

220.181.5.34 61.135.166.31

discobot

208.96.54.70

ia_archiver209.234.171.42
msnbot

65.55.104.209 65.55.209.86 65.55.209.96

sogou in spider

220.181.19.216


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄龙县| 南安市| 唐海县| 芜湖市| 闽清县| 黑龙江省| 贵阳市| 永平县| 新龙县| 康乐县| 宜都市| 榆社县| 乌苏市| 南丹县| 应用必备| 乃东县| 明水县| 潮州市| 阿坝县| 张掖市| 隆德县| 深圳市| 沂源县| 涟源市| 桂平市| 江陵县| 广西| 平山县| 银川市| 阳山县| 安康市| 乾安县| 滦平县| 清新县| 富源县| 吴忠市| 巴青县| 江川县| 全南县| 赣州市| 绥化市|