2012-06-01 35 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 ***)