蜘蛛的IP地址和“官方”networking机器人

iplists.com有一个官方的API,从那里我可以得到的蜘蛛名单?

我的意图是将这些IP列入白名单进行网站抓取。

不是我所知道的,它可以随时根据机器人操作员的判断而改变。

Google对此提供了一些具体的指导和解释 :

问题是,如果/当我们的抓取工具的IP范围发生变化,不是每个人都知道要检查。 事实上,抓取团队几年前就已经迁移了Googlebot IP地址,对于IP地址硬编码的网站pipe理员来说,这真是一件麻烦的事情。

他们build议使用DNS检查(正向反向)来validation:

告诉网站pipe理员使用DNSvalidation个案的基础似乎是最好的方式去。 我认为推荐的方法是做一个反向DNS查询,validation名称在googlebot.com域中,然后使用该googlebot.com名称进行相应的正向DNS-> IP查找; 例如:

$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

$ host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1

我不认为只是进行反向DNS查找就足够了,因为欺骗者可以设置反向DNS来指向crawl-abcd.googlebot.com。

这可能是最好的一般build议,但是它有点资源密集(DNS查找的CPU周期)。

没有我知道的“好”的search引擎机器人的IP地址列表,如果有的话,它会很快过时,正如你已经发现的那样。

可以做的一件事就是创build一个bot陷阱。 这在理论上很简单:您创build一个链接到您的网站,但从普通用户隐藏的页面(例如通过CSS技巧),然后Disallow它在robots.txt 。 然后,您等了一个星期,因为合法的search引擎可能会cachingrobots.txt ,然后开始禁止所有碰到陷阱页面的内容(例如fail2ban)。