设置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英文页面

 

 

设置后结果如下

 

 

 




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值