【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

自己动手写网络爬虫1

转载 2015年07月09日 09:18:52

Cannot instantiate the type HttpClient问题


看自己动手写爬虫,没想到一上来就跪了。

里面提到用的jar包是apache的http客户端开源项目---HttpClient

就去官网下载了一个版本4.3

当按书上代码敲时

HttpClient httpclient = new HttpClient();

敲完这句,就给跪了

提示Cannot instantiate the type HttpClient,

google 了下,在stackoverflow上面说是应该

HttpClient httpclient = new DefaultHttpClient();

这样写,不过得先import org.apache.http.impl.client.DefaultHttpClient;

试了一下。。。果然可以,但是后面的GetMethod啥的都有,

最后才特么发现从4.×版本后,它的用法就变了不能这么使用了

给个官网示例看看就知道咋回事了

复制代码
package spider;

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class Spider {
    public static void main(String[] args) throws Exception{
        CloseableHttpClient httpclient = HttpClients.createDefault();
        try{
            String url = "http://www.baidu.com";
            HttpGet httpGet = new HttpGet(url);
            System.out.println("executing request " + httpGet.getURI());
            
            ResponseHandler<String> responseHandler = new ResponseHandler<String>(){
                public String handleResponse(final HttpResponse response) throws ClientProtocolException,IOException{
                    int status = response.getStatusLine().getStatusCode();
                    if (status >= 200 && status < 300){
                        HttpEntity entity = response.getEntity();
                        return entity !=null ? EntityUtils.toString(entity) : null;
                    }else{
                        throw new ClientProtocolException("Unexpected response status: " + status);
                    }
                }
            };
            String responseBody = httpclient.execute(httpGet,responseHandler);
            System.out.println("-------------------------------------------");
            System.out.println(responseBody);
            System.out.println("-------------------------------------------");
        }finally{
            httpclient.close();
        }
    }
}
复制代码

 

 

----------------------------------------------在穷无非讨饭,不死终会出头。

举报

相关文章推荐

自己动手写网络爬虫(第一天)

现在是2015年12月10日晚上21:56,我坐在自己的电脑面前发呆,忽然想起自己的笔记本里还雪藏着好东西羡慕羡慕羡慕,赶紧在臃肿的电脑磁盘里找啊找啊, 哎呦喂,我擦,到底有啥东西,(搜刮过程自...

自己动手写网络爬虫

目前,互联网上的信息迅速膨胀。当你在网上冲浪时,你是否知道还有一类特殊的网络用户也在Internet上默默地工作着,它们就是网络爬虫。这些网络爬虫按照设计者预定的方式,在网络中穿梭,同时自动收集有效的...

如何对付网络爬虫 - JavaEye和网络爬虫斗争之路

由于搜索引擎的泛滥,网络爬虫如今已经成为全球互联网的一大公害。除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,搜狐,腾讯,网易。再加上十分流氓的社区搜索奇虎等等,国内大大小小叫得出来名字得就几十家,还有各种不知名的几千几万家,另外还有国外各种奇奇怪怪的搜索引擎。只要你做的网站是内容丰富的网站,就避免不了被几千几万个爬虫每天爬来爬去。 大的搜索引擎如Google的爬取网页十分智能,爬取频率和爬取压力都没有那么高,对网站资源消耗还比较少,最怕各种各样弱智的爬虫,对网页内容的分析能力很差,经常并发几十上百个请求循环重复抓取,对网站往往是毁灭性

读书笔记——自己动手写网络爬虫_第一章(1)

使用httpclient通过postmethod对象获取返回值,在使用getResonseBodyAsString方法时会出现一个警告:   org.apache.commons.http...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)