爬虫开发记录:网站国际化,语言设置
2017-11-01 14:32
671 查看
最近在做爬虫开发时,目标网站做了国际化,有多种语言。但是我只想要中文的。
爬下来的确是英文的。
在网上找了资料。
一般的网站语言自适应大概就是用IP判断,或者Header信息判断。
IP这个排除掉,因为我网页访问和用HtmlUnit访问都是一个IP。
于是就改了HtmlUnit的header信息。
果然,奏效。
下面是代码
随便记录一下吧,之后再完善。还要继续干活儿呢~
爬下来的确是英文的。
在网上找了资料。
一般的网站语言自适应大概就是用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());
随便记录一下吧,之后再完善。还要继续干活儿呢~
相关文章推荐
- iOS多语言(国际化)开发(尾随系统 + APP内手动设置)
- Go语言开发的网站模板爬虫 Lea Web Template Spider
- iOS多语言(国际化)开发(跟随系统 + APP内手动设置)
- Android开发之语言国际化
- Vue实现国际化多语言开发
- 选择PHP作为网站开发语言的原因分享
- 在Windows Azure中用Python语言开发网站
- ios 国际化及默认语言设置
- VC开发多语言国际化界面支持的简单方法
- 网站国际化代码-多语言
- 网站开发语言ASP、ASP.net、JSP和PHP的优点和缺点
- 如何选择用什么语言进行网站开发
- ios 国际化设置及默认语言设置
- 网站开发语言
- 国内几大网站使用的操作系统、Web服务器和开发语言
- 博客园win8客户端开发记录5-app设置 登录 回复评论
- 记录毕业论文 LanguageTool 二次开发时用到的网站
- Unity 国际化 多语言设置
- php开发多语言网站一点小知识
- 选择PHP作为网站开发语言的原因分享