预览模式: 普通 | 列表
10-01
16

使用HttpClient获取网页字符编码

使用HttpClient获取网页字符编码
使用HttpClipent取得网页内容,但不同的网页编码又不一定一样
这样在取得网页响应流的时候,就要分别处理.
一般来说,常见的网页字符集有UTF-8,iso-8859-1,GBK,GB2312几种
当然,你要是一外文高手,全球那么多语言,全搞一遍,就不止这个数目了.
这里取得网页字符集编码只考虑最常见的情况,使用的HttpClient为4.0版本
基本上是目前最新的.下面来看代码.

/**

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 762
10-01
16

使用正则表达式来判断网页

public String HtmlToTextGb2312(String inputString)
    {
              String htmlStr = inputString; //含html标签的字符串
              String textStr ="";
              Pattern p_script;
              Matcher m_script;
              Pattern p_style;
              Matcher m_style;
              Pattern p_html;

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 174
10-01
16

从http协议看无法获取网页charset的原因

connection.getContentType();

  这个需要服务器设置了 ContentType才可以,这个数据在文件头里面,而不是在文件的主体(也就是你看到的html)里面。

  所以检测页面类型需要分3步,如果这一步不行,则用下一个

  1 看header里面的ContentType,也就是你用的那个方法

  2 看 html 里面的 ContentType ,也就是解析html页面

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 164
10-01
16

HTTP的请求头

HTTP是一种请求/回应协议,用户通过客户端(比如IE)发送给网站一个请求,那么网站会返回一个相应,在发送请求信息之前,会发送一些头文件,也就是HTTP的请求头,这里我们用一个叫HTTP Analyzer的软件来截获一下我们访问网站时的HTTP头

view plaincopy to clipboardprint?
<headers>  
      <requestheaders>  
        <header>GET / HTTP/1.1</header>  
        <header>Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*</header>  
        <header>Accept-Language: zh-cn</header>  
        <header>User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)</header>  

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 341
10-01
16

htmlparser 编码问题

     有时候,在抓取网站的时候,网站的编码方式可能不统一,这样的情况,可能有些网页编码不成功,而htmlparser报了错,不能正常的读取。抛出来的异常为:org.htmlparser.util.EncodingChangeException: character mismatch (new: 中 [0x4e2d] != old:  [0xd6?]) for encoding change from ISO-8859-1 to GB2312 at character offset 23

为了解决不管它是用何种编码方式,都能够正常读取数据。我在htmlparser的Page类中加了一个字段,之所以要在Page类中加,那是因为它历遍所有的标签过程中,把meta标签属性content捕获到了,并已经传值到setEncoding(String charset)办法中。

          代码如下:



Java代码

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 464
10-01
15

谷歌退出中国,某些人未必可以狂欢

     Youtube、Myspace、Twitter、Facebook、BBC、维基,就连谷歌也要退出了……
    当谷歌退出中国市场,外交部“若即若离”予以回应的传闻逐渐被证实的时候,我的心中不是击退外来靼虏后的快感,而是与文明与民主再次失之交臂的痛惜。谷歌这个全球最大的搜索引擎,终于以壮士断腕的决绝,放弃了与中国本土搜索百度的痛苦争夺,暂时把尴尬和愤懑抛在了一边。

    其实,对于谷歌和百度,我本来没有什么好坏的区分,都只是互联网的一个工具罢了。可就在国人都头脑发热的奥运年,百度的拿钱为三鹿三聚氰胺事件消灾的传闻出来之后,我才开始开始注意谷歌和百度两者的区别,虽然拿钱200万的事最终不了了之,可明眼人是应该能猜出点什么来的。后来我又通过搜索一些常用词条,再次见证了谷歌的客观和百度的逐利,举个也许不恰当的例子:在谷歌搜索我正义网法律博客‘百里马的伯克’,一直是首位的搜索结果,不是因为我这个博客名气多大,而是因为它活跃,和被搜索词条契合度最高;然而在百度,别说正义网博客是首位结果,即便我那不甚活跃的央视博客‘百里马的伯克’,也会远比法博这个出现的位次靠前,我想这是因为百度的排名,糅合了更多的的经济、政治因素在里面吧。混沌的爱国和明朗的客观,我宁可选择后者,也就是从那时候起,我就彻底放弃使用百度引擎,始终和谷歌保持着亲密接触。

    这次谷歌的退出,据其高层透露,和我国森严的网络审查制度以及黑客入侵谷歌邮箱系统,试图获取世界各地人权活动人士资料有关,做出这个退出决定前,据说谷歌高层可能征求了美国政府的意见。中美多年来明争暗斗,最近的气候和贸易问题加剧了两国的摩擦。作为中国国民,如果说我国坚持排在发展中国家队伍里,推卸在世界环保问题上的责任,还马马虎虎可以接受的话,在国内无视环境保护,过度开发和污染环境,就是贻害自身和子孙的卑劣行径,是完完全全的犯罪行为,别说竞争对手美国,就是一个中国国民都应该站出来反对和寻求良策。还有就是我国饱受美国诟病的互联网审查制度和对人权问题的观点做法,美国不惜以伤害和最大债权国中国的关系,来明确环境保护的重要性,我从情感上更支持美国的做法。

    还有席卷全国的整治互联网色情运动,很多人在还没有弄清色情淫秽标准的前提下,就声泪俱下、摩拳擦掌的加入了讨伐网络色情的洪流中。我收看了一个电视节目,其中一个初中女生控诉到:“有一次我搜索‘高射炮的功能’,错输成‘高清炮’,结果出来很多‘不好’的东西,结果就上瘾了。”我一开始还为小女孩叫屈,后来一想,一个初中生没事搜索‘高射炮的功能’干什么,不是忧国忧民的圣人,就可能是张口就撒谎的坏孩子。撒谎对我们现代人来说,已经是再平常不过的家常便饭。性是任何人都不能避讳的东西,在某种程度上重要性更甚于民主人权,没有民主人权,我们还可以苟且的活着,繁衍生息,没有了性,社会就要彻底完蛋。对这么重要的东西,用这种简单粗暴的一刀切的做法进行打击压制,却很难看到官方正式的、科学系统的性教育节目,不能不说是好心办坏事,让人对官方的工作能力产生质疑。如果要彻底杜绝色情的东西,把全体国民都阉割掉倒是一个可以斩草除根的办法。

查看更多...

Tags: 谷歌

分类:IT | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 140