JSoup 获取正文,自动识别页面编码Charset
2013-06-18 03:29
1141 查看
public static String getContent(String url) throws Exception{ HttpClient hc = new HttpClient(); HttpMethod hm = new GetMethod(url); int statusCode = -1; byte[] result = null; statusCode = hc.executeMethod(hm); if(statusCode != HttpStatus.SC_OK)//判断返回 return ""; if(hm.getResponseBody()!=null){//获取页面数据 result = hm.getResponseBody();//hm.getStatusLine()――http状态和请求结果 } String charset = JsoupUtils.getCharset(url); //通过jsoup获得页面的charset hm.releaseConnection(); String data = null; if(result != null) data = new String(result,charset);//字符编码设置 return data; }
[代码] 获得字符集
/** * 获得字符集 */ public static String getCharset (String siteurl) throws Exception{ URL url = new URL(siteurl); Document doc = Jsoup.parse(url, 6*1000); Elements eles = doc.select("meta[http-equiv=Content-Type]"); Iterator<Element> itor = eles.iterator(); while (itor.hasNext()) return RegularUtils.matchCharset(itor.next().toString()); return "gb2312"; }
[代码] 使用正则表达式获得页面字符
/** * 获得页面字符 */ public static String matchCharset(String content) { String chs = "gb2312"; p = Pattern.compile("(?<=charset=)(.+)(?=\")"); Matcher m = p.matcher(content); if (m.find()) return m.group(); return chs; }
相关文章推荐
- 获取页面Html代码,自动识别编码
- 获取页面Html代码,自动识别编码。
- 爬取网页时自动获取网页编码信息,并对特殊的乱码页面(压缩过的网页内容)用gzip进行解码。
- httpclient自动获取页面编码,解决网页抓取乱码问题
- C# HttpWebRequest访问页面时自动识别编码
- 自动编码获取页面html代码
- 获取页面源码(自动获取页面的编码格式)
- 网站使用UTF-8编码不能自动识别问题的解决
- python 获取探针页面,自动查询公司出口
- BytesEncodingDetect.java 自动识别文件编码
- 自动识别设备跳转手机页面代码
- PHP 正则表达式 获取网页charset 编码 ,可以获取任意网页charset(代码备份)
- 编码自动识别与转换
- 利用Jsoup获取HTML页面的标签信息
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用
- 自动识别判断url中的中文参数是GB2312还是Utf-8编码
- C# 获取文本文件的编码,自动区分GB2312和UTF8
- 编码自动识别工具 uchardet
- 正则获取页面编码 判断当前页面的编码
- c# 获取网页源码,自动判断编码格式新方法!