設置nginx讓baidu,google等爬蟲抓取不同語言的頁面

很多網站都有多語言版本,站長往往希望baidu爬蟲爬中文頁面,而google爬蟲爬英文頁面。於是,如果網站如以nginx做前端的話,站長往往會在nginx.conf中設置http頭的accept-language,讓爬蟲重定向到指定語言頁面進行抓取。但是事與願違,google和baidu爬蟲不設置http頭的accept-language,導致爬蟲抓取的是web.xml指定的默認頁面。這樣,baidu抓取中文頁面,google抓取英文頁面就無法同時達到。

http://www.findmaven.net 是博主的網站,是一個findjar和findmaven的搜索引擎,可以根據class名或者jar名找到包含它的jar和maven gav,以這個網站打比方


 

博主這樣設置

1)網站的web.xml中默認頁面還是設置爲index_en.jsp英文頁面

 

2)設置nginx的user_agent

if ($http_user_agent ~* (baidu|360|sogou)){

       set $lang "/index_cn.jsp";

 }

如果是baidu,360,sogou爬蟲的話,重定向到index_en.jsp抓取中文頁面;如果是google爬蟲,則抓取默認頁面index_en.jsp英文頁面

 

 

設置後結果如下

 

 

 




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章