首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止爬虫(如spyder/Nutch-2 )访问特定的页面?

如何阻止爬虫(如spyder/Nutch-2 )访问特定的页面?
EN

Stack Overflow用户
提问于 2014-04-15 13:07:11
回答 5查看 496关注 0票数 1

我有一个Windows客户端应用程序,它使用托管在共享商业php服务器中的php页面。

在这个php页面中,我将返回一个加密的json。同样在这个页面中,我有一段代码来跟踪哪个in正在访问这个php页面,并且我注意到有一个spyder/Nutch-2爬虫正在访问这个页面。

我在想,一个爬虫怎么可能找到一个没有在任何搜索引擎中发布的页面。我有办法阻止爬虫访问这个特定的页面吗?

我应该使用.htaccess文件来配置它吗?

EN

回答 5

Stack Overflow用户

发布于 2014-04-15 13:13:55

您确实可以使用.htaccessrobots.txt是另一种选择,但是有些爬虫会忽略这一点。还可以阻止特定的用户代理字符串。(爬行器各不相同)

robots.txt:

代码语言:javascript
复制
User-agent: *
Disallow: /

这个例子告诉所有的机器人远离网站:你可以阻止特定的目录。

代码语言:javascript
复制
Disallow: /demo/

有关robots.txt的更多信息

票数 2
EN

Stack Overflow用户

发布于 2014-04-15 13:14:02

你可以通过这样做来禁止特定的爬虫;

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2) [NC]
#For multi block
#RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2|baidu|google|...) [NC]
RewriteRule .* - [R=403,L]

那个爬虫,可以更改代理名称,所以这可能不是解决方案。你需要通过查看需要的ip地址来阻止爬虫;

代码语言:javascript
复制
Order Deny,Allow
Deny from x.x.x.x

然而,这个机器人也可以改变他的ip地址。这意味着,您需要跟踪访问日志。并决定要阻止哪些代理并手动将它们添加到列表中。

票数 2
EN

Stack Overflow用户

发布于 2014-04-15 13:16:41

您可以使用.htaccess文件禁止特定的IP地址:

代码语言:javascript
复制
Order Deny,Allow
Deny from xxx.xx.xx.xx

其中xxx表示IP地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23084666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档