您的位置:首页 > 运维架构 > 网站架构

爬虫开发记录:网站国际化,语言设置

2017-11-01 14:32 671 查看
最近在做爬虫开发时,目标网站做了国际化,有多种语言。但是我只想要中文的。

爬下来的确是英文的。

在网上找了资料。

一般的网站语言自适应大概就是用IP判断,或者Header信息判断。

IP这个排除掉,因为我网页访问和用HtmlUnit访问都是一个IP。

于是就改了HtmlUnit的header信息。

果然,奏效。

下面是代码

String  url="https://www.gfresh.cn/";//想采集的网址
URL link=new URL(url);
WebClient wc=new WebClient();
WebRequest request=new WebRequest(link);
request.setCharset("UTF-8");
////设置请求报文头里的User-Agent字段
request.setAdditionalHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
request.setAdditionalHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4");
//wc.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
//wc.addRequestHeader和request.setAdditionalHeader功能应该是一样的。选择一个即可。
//其他报文头字段可以根据需要添加
wc.getCookieManager().setCookiesEnabled(true);//开启cookie管理
wc.getOptions().setJavaScriptEnabled(true);//开启js解析。对于变态网页,这个是必须的
wc.getOptions().setCssEnabled(true);//开启css解析。对于变态网页,这个是必须的。
wc.getOptions().setThrowExceptionOnFailingStatusCode(false);
wc.getOptions().setThrowExceptionOnScriptError(false);
wc.getOptions().setTimeout(10000);
//准备工作已经做好了
HtmlPage page=null;
page = wc.getPage(request);

System.out.println(page.asXml());


随便记录一下吧,之后再完善。还要继续干活儿呢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫 语言 国际化