2012-06-01 25 views
-1

当搜索引擎访问网页时,get_browser()函数和$_SERVER['HTTP_USER_AGENT']返回什么?使用PHP检测爬网(搜索引擎访问)

此外,当搜索引擎抓取网页时,PHP提供的其他可能证据是什么?

+3

为什么这很重要?如果您向他们提供不同的内容,那么您违反了其服务条款并有被禁止的风险。 –

+0

@JohnConde,不会应用它...只是好奇... –

+3

http://stackoverflow.com/questions/677419/how-to-detect-search-engine-bots-with-php – David

回答

1
  • get_browser()功能试图确定浏览器的功能(数组),但不要指望太多就可以了,因为non standard user-agents的;相反,对于一个认真的应用程序,建立自己的。

  • $_SERVER["HTTP_USER_AGENT"]是一个“描述”用户浏览器的长字符串,可以作为上述函数中的第一个参数(可选); 小费:使用这一个来发现用户的浏览器,而不是get_browser()本身!也准备为缺少用户代理!此字符串的一个例子是这样的:
    的Mozilla/5.0(Macintosh的; U; PPC的Mac OS X;烯)为AppleWebKit/418(KHTML,例如Gecko)Safari浏览器/ 417.9.3

  • 搜索引擎或机器人或蜘蛛或履带,follows the rules将访问您的网页根据存储的信息robots.txt必须存在于您的网站的根。 没有robots.txt一个蜘蛛可以抓取整个网站,只要找到链接在你的网页内;如果你有这个文件,你可以编程它,以告诉蜘蛛什么来搜索; 注:这个规则只适用于 “好” 的蜘蛛,而不是bad ones

+0

'robots.txt'只是一个提示,以及站点地图。 –

1

get_browser() & $_SERVER['HTTP_USER_AGENT']将返回你的Useragents,它应该是这样的:

谷歌:

  • Mozilla/5.0(compatible; Googlebot/2.1; + http://www.google.com/bot.html)
  • M ozilla/5.0(iPhone; U;像iPhone OS X的CPU iPhone OS 4_1; )AppleWebKit/532.9(KHTML,如Gecko)Version/4.0.5 Mobile/8B117 Safari/6531.22.7(兼容; Googlebot-Mobile/2.1; + http://www.google.com/bot.html)
  • 的Googlebot图片/ 1.0

冰:

  • 的Mozilla/5.0(兼容; bingbot/2.0; + HTTP://www.bing.com/bingbot.htm)
  • Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/534 +(KHTML,如Gecko)BingPreview/1.0b
  • msnbot/2.0b(+ http://search.msn.com/msnbo t.htm)
  • msnbot-media/1.1(+ http://search.msn.com/msnbot。HTM)

雅虎:

- >为了充分控制(和限制)的抓取不使用robots.txt,使用.htaccesshttp.conf规则。 (好的爬虫不会在robots.txt的一半时间内给出关于你的禁止规则的f ***)