过期域名预定抢注

 找回密碼
 免费注册

WordPress監測蜘蛛爬行記錄代碼

  [複製鏈接]
發表於 2013-4-19 21:25:37 | 顯示全部樓層 |閱讀模式
本帖最後由 wuzu 於 2013-4-19 21:27 編輯 % Z1 D* L/ \+ p0 b1 @

4 v# k$ ^+ z0 r/ S2 sWordPress監測蜘蛛爬行記錄,用插件固然可以實現,不過插件也有弊端,太多的會造成載入速度的下降,插件間的衝突等,所以能使用代& m6 l: r1 ^' u0 j# q
" S, k% M9 ^) u  A
碼實現的就一定要用代碼來實現。2 t# j7 q+ [. g8 o: I
這個監測搜索引擎蜘蛛爬行記錄的代碼,其實很簡單的一段代碼:<?php4 ]% X# k7 b2 ], d2 j; M
function get_naps_bot(): K' o7 [7 h6 U! F. m+ B/ z
{
/ B8 y. w- l7 B# ^/ w$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
8 ^; z, ?9 e- V# j- e) l# Z6 k4 vif (strpos($useragent, 『googlebot』) !== false){
6 K. l; m- F$ p' l6 C9 U& ?return 『Googlebot』;0 o2 h/ }6 h+ `+ Y3 ~( b/ `! D
}4 G$ i4 f5 O* f0 m' T, k& z% |( x
if (strpos($useragent, 『msnbot』) !== false){
# K+ d" C% ~0 W9 t* kreturn 『MSNbot』;
* U) @# S/ N, }8 Z3 b1 H}3 M( _6 m, q2 h( l! E7 F& V, W: C
if (strpos($useragent, 『slurp』) !== false){; Y; x, A% c3 V* J5 }4 s
return 『Yahoobot』;
* R; d( Z6 H8 D" K# |}
, y. D7 q, L* e' k+ V0 g: bif (strpos($useragent, 『baiduspider』) !== false){2 c& C  i# r! X$ b  _: h
return 『Baiduspider』;
( ^, J: H: W' L1 C2 b}, u* Q) O0 z- Z5 L" W- W* V' d$ G
if (strpos($useragent, 『sohu-search』) !== false){  Q2 _- D% L6 G$ V: N
return 『Sohubot』;, D6 z- T, S2 F& X& _; @$ o8 M
}$ z; a$ J" z; @: u" D! G
if (strpos($useragent, 『lycos』) !== false){! N/ n) F- r% G8 y
return 『Lycos』;
0 ~! l' S" O( K! D- N5 ]! W. T. E}6 X! ^% c  T) W& k" w8 T
if (strpos($useragent, 『robozilla』) !== false){/ W' o) O. l' A! C
return 『Robozilla』;. g( P3 ?  {2 J  @8 L; p8 ]/ t+ w
}
! k" T4 C3 b+ f  z6 nreturn false;, A+ S# R) [9 h- T
}
% `  ~; p7 ^2 Z) x5 m- Pfunction nowtime(){- O2 l9 h3 x8 C, D6 }( D* v
$date=gmdate(「Y-n-j H:i:s」,time()+8*3600);: F9 y9 ?1 U4 c4 e
return $date;
9 d6 W" s0 L# L/ Q+ A: f; _}
. y+ N3 G5 A% V9 v% d& d0 y$searchbot = get_naps_bot();
# O' q9 K3 m2 j5 \: |% tif ($searchbot) {3 `8 Q( \% E/ |+ u! B9 E7 G: l
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
( U  o7 b* m4 X, N1 [* d$url=$_SERVER['HTTP_REFERER'];
# [& V" ^6 ]8 B0 {: o5 ~+ c$file=」robotslogs.txt」;% Z4 L9 d  J" z4 C
$time=nowtime();
2 _  u$ F1 D% y# p& A9 B+ f9 j  k( N$data=fopen($file,」a」);
' C1 E, H! Y, |" jfwrite($data,」Time:$time robot:$searchbot URL:$tlc_thispage\n」);
8 s# Q4 O! d4 B5 S% U/ y- f+ Ffclose($data);- k% F6 w" ?8 O- o; k# c: J( c
}# c) J0 p/ q$ M7 D
?>
" H- M* ~+ k9 L. f: ]原理:各大搜索引擎的蜘蛛爬行程序都有自己的標識符,例如谷歌的是googlebot,百度的是 baiduspider,7 g  o. ^* p: K
3 w& C! Y2 e* J7 z& O
它們可以通過查詢_SERVER變量中的HTTP_USER_AGENT參數來獲取,再結合HTTP_REFERER記錄下 URL的來源,
9 F) {- i3 E) F% ~8 ^7 B
- K) i; r! u3 `  P最後用 nowtime()函數取得當前的系統時間,就形成了一條簡單的擎蜘蛛爬行記錄。4 `2 B1 T, m. H* v7 i
看不明白的朋友可以跳過,其實代碼許多年前網上就有人共享出來了,我們重點學會如何使用就可以了。
7 K8 E, T) _4 I+ `# l使用: 然後將上面貼出來的代碼另存為robots.php,當然你可以任意給它取個名字,例如bbb.php或者( x' b6 i1 h8 f: m
2 U9 C- W, q: Z
111.php 都行,只要保證擴展名是php,讓它能夠正常執行即可;然後上傳到你的網站程序的模板目錄中(例
  w# q5 m/ v$ G0 t/ ^% L3 @
2 \* t0 [  c! g0 t( n' a# m如Wordpress的是/wp-content /themes/xiao目錄);最後在你的模板文件中調用它,例如在Wordpress博客
" \6 \2 L8 g( K$ t( `+ P* G- ?0 A6 |
中,你可以在footer.php文件中添 加<?php include(』robots.php』) ?>代碼。) K( {" x7 e# L; j$ Y
接下來就是等待搜索引擎蜘蛛到你的網站來爬行了,爬行的結果記錄在網站根目錄的robotslogs.txt中,你
" G( H+ A+ F  j1 a6 t& x" B
6 g( E+ m' Y: h" ^' ^直接打開 http://www.xxx.com/robotslogs.txt就能看到了。當然你也可以修改robots.php文件的第50行,
! T& B) C' T0 K6 Q2 o. p  V) X+ C5 Z6 Z5 e
把robotslogs.txt換成任意你想要的名字。
1 A3 @' |) g+ R( g通過一段時間的監測,你就可以發現搜索引擎蜘蛛在你的網站上爬行的頻率了,一般來說,蜘蛛爬行得越勤
9 q; b# W0 s/ {$ @2 J: U7 A# r% r' m
* s! a: J5 \/ X% K4 k快越好。另外,如果你的robotslogs.txt記錄的內容太多了的話,你可以清空它重新開始記錄。
7 N* J1 Z% ^' m7 F/ z0 V0 x. G$ i% ~2 T' ?0 h' \* N

& Q% v( @5 B" ?5 }2 `5 _9 F

評分

參與人數 2點點 +2 收起 理由
月光飞燕 + 1
RootSir + 1 有見地

查看全部評分

發表於 2013-4-19 21:31:57 | 顯示全部樓層
這個是很早的文章了,不過還是謝謝樓主分享
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-19 21:39:17 | 顯示全部樓層
謝謝分享,我一般看網站日誌
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-19 22:29:41 | 顯示全部樓層
謝謝樓主分享
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 00:11:52 | 顯示全部樓層
直接分析access-logs不就行了麼
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 06:36:17 | 顯示全部樓層
直接看日誌,減少wp的負載
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 08:03:39 | 顯示全部樓層
本帖最後由 luguokankan 於 2013-4-20 08:05 編輯
% L# m5 k" \4 Y* |: Z. ^. [% t8 e2 F0 ]! p; [, I, y
我記得有個商業版的wordpress plugin, 是專門對付spider, 當然比lz的這個強大得多., P& B6 u* X8 T  h. {
可惜忘記叫什麼名字,只記得它的文件夾名字是sspro
7 m7 Z8 Q9 n4 l) n: \---9 k# X& s+ h, o/ K/ Z
查了下回收站,居然還在.7 e$ Y& U  I( ]- o2 B* c$ [5 p
名字叫SpyderSpanker Pro
3 P  M, t' @4 j, f9 I
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-2-21 20:41

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表