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

来源:互联网 发布:数据预处理常用函数 编辑:程序博客网 时间:2024/06/05 15:01

最近在做爬虫开发时,目标网站做了国际化,有多种语言。但是我只想要中文的。
爬下来的确是英文的。

在网上找了资料。
一般的网站语言自适应大概就是用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());

随便记录一下吧,之后再完善。还要继续干活儿呢~

原创粉丝点击