自己动手写网络爬虫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();
        }
    }
}
复制代码

 

 

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

相关文章推荐

学习《自己动手写网络爬虫》之记录1

某天突发奇想,想自己写一个网络爬虫,然后上网查了前辈们的经历,发现网络爬虫好处多多,于是坚定了自己的决心。再上网一找,看到好多人推荐这本书,于是就以这本书为参考来实现自己的网络爬虫了! 首先都是照着...

自己动手写网络爬虫

  • 2016-09-18 23:08
  • 2.49MB
  • 下载

自己动手写网络爬虫

  • 2015-12-28 10:10
  • 46.96MB
  • 下载

自己动手写网络爬虫

http://book.51cto.com/art/201012/236661.htm 第1篇  自己动手抓取数据 第1章  全面剖析网络爬虫 3 1.1  抓取网页 4 1.1.1  深...

自己动手写网络爬虫

  • 2015-12-04 09:50
  • 27.67MB
  • 下载

自己动手写网络爬虫

  • 2014-12-14 20:19
  • 2.49MB
  • 下载

自己动手写网络爬虫

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

自己动手写网络爬虫

  • 2015-07-22 14:36
  • 27.78MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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