-
请问用什么方法可以获取搜狐评论排行中的新闻列表5
搜狐评论列表url: http://comment.news.sohu.com/djpm/
我想得到里头的热门新闻。
用了httpclient+htmlcleaner 还是不行
原因:请求到的html文件是一堆乱码,用了gbk(页面中设置的charset是gbk), utf-8, utf-16, ascii都还是不行。
请问各位大侠:有什么其它比较好的方法可以解决这个问题?或者除了httpclient外还有没有更好的请求网页的工具?
求解答,不甚感激!
问题补充:flootball 写道看看网页源码是何物?
网页源码能看见内容,那httpclient就能取下来。
获取内容的规则:分析下内容就好了。
源码可以看到,但是httpclient就是取不下来,取出来的全是乱码。你可以试一下。
只是部分网页是这样,比如点击排行的那页。
搜狐的大部分其它网页是可以正常解析的。
问题补充:flootball 写道贴出代码看看。。!
我这连不上搜狐.
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(urlString);
try {
HttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
System.out.println("status line:" + response.getStatusLine());
if (entity != null) {
System.out.println("response content length:" + entity.getContentLength());
}else {
return;
}
InputStream inputStream = entity.getContent();
Reader reader = new InputStreamReader(inputStream, "gb2312");
BufferedReader bufferedreader = new BufferedReader(reader);
String lineString;
while ((lineString = bufferedreader.readLine()) != null) {
System.out.println(lineString);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我用的是httpclient4.1。
我觉得这个跟代码没有关系。应该是httpclient包解析的问题,浏览器对网页解析没有问题,但用程序解就出现乱码。
我还用c#试过了,也是可以得到字节流,但是这个字节流就是不能还原成正常的字母和文字,都是乱码。
请大家看看,这个问题困扰我几天了。
或者有没有其它更成熟的请求http的工具包,推荐一下啦
问题补充:flootball 写道HttpClient httpClient=new HttpClient();
GetMethod getMethod = null;
BufferedReader br=null;
BufferedWriter bw=null;
getMethod=new GetMethod(url);
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + getMethod.getStatusLine());
}
br=new BufferedReader(new InputStreamReader(getMethod.getResponseBodyAsStream(),"UTF-8"));
其余的代码自己补全。
用这个试试吧。
我自己已经解决了 不是这个的问题 是http流用了gzip压缩。在解析之前先gzip解压缩,就好了。 不过非常感谢你的热心。分数给你。2010年11月29日 15:40
3个答案 按时间排序 按投票排序
-
采纳的答案
HttpClient httpClient=new HttpClient();
GetMethod getMethod = null;
BufferedReader br=null;
BufferedWriter bw=null;
getMethod=new GetMethod(url);
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + getMethod.getStatusLine());
}
br=new BufferedReader(new InputStreamReader(getMethod.getResponseBodyAsStream(),"UTF-8"));
其余的代码自己补全。
用这个试试吧。2010年12月01日 10:16
相关推荐
Python,爬虫,小脚本,爬搜狐新闻列表存入数据库,爬新闻,新闻采集
在搜狗实验室下载的搜狐新闻数据整理后的一部分中文分类语料~
搜狐新闻分类语料库,主要包含 0 汽车 1 财经 2 IT 3 健康 4 体育 5 旅游 6 教育 7 招聘 8 文化 9 军事 十个分类,共50多万条记录
搜狐新闻331万网址。 2010年11月26日~2011年4月25日 搜狐滚动新闻网址,
爬虫搜狐新闻具体页面,获取标题,新闻内容,新闻图片,时间等基本信息
来自搜狐网的十类新闻数据,建议用pandas的read_pickle读入。有少量空行数据。使用方法见博客
仿搜狐新闻选项卡
爬取的搜狐新闻数据,一共有12个类别,分好类了
可以获取搜狐网的新闻,并且及时保存在本地,以便随时翻看以前的内容。由于是开源的,所以代码没有做过多的限制。
网络爬虫 源码 爬搜狐新闻
搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔
最新版本的搜狐新闻客户端,内部人员专用版本。
对搜狗实验室的2012搜狐新闻语料进行切分、格式转换(已转为UTF8),从中抽取了11个新闻类别并分文件夹存储,每个txt文件包含600篇新闻。数据大概共54M,可以用于中文分类。
本文实例讲述了JS简单获取客户端IP地址的方法。分享给大家供大家参考,具体如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>使用搜狐接口获取客户端IP地址</...
仿搜狐新闻客户端滑动导航
类似搜狐新闻安卓版栏目定制,仅供参考,希望大家在这个基础上搞出更好的
代码非常简单的小偷程序。 对于学习过vbscript语言的同学,这个程序是最容易弄懂新闻采集系统原理的程序。...集成了百度,搜狐,网易的新闻采集方法 分别在index_baidu.asp,index_sohu.asp,index_163.asp
如何用搜狐影音下载视频? 搜狐影音增加的免费下的功能,对我们喜欢网上看电视的朋友也提高的很多,看到网上好多朋友都在搜索这个问题,比如搜狐影视试验品怎么下载啊等等,搜狐上面的影视究竟如何下载呢,在这里面...
评论:千年老二搜狐有什么.docx