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

 

 

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

Java 后台框架源码 springmvc spring mybatis SSM 有代码生成器

A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节 B 集成代码生成器 [正反双向](单表、主表、明细表、树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写...

mybatis

package daisy.com; import java.util.List; import com.sun.javafx.collections.MappingChange.Map; pu...

自己动手写网络爬虫源码part1

  • 2015年09月28日 19:50
  • 50MB
  • 下载

自己动手写网络爬虫-----(1)

照着书上把代码写完之后运行MyCrawler主程序,发现在存储的路径下面只有一个网页内容,就说明爬虫只爬取了一个网页,仔细检查了书上的代码,发现并没有错误,后来查了API之后才发现,在Parser的构...

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

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

自己动手写网络爬虫

  • 2017年11月24日 12:56
  • 27.91MB
  • 下载

自己动手写网络爬虫PDF

  • 2017年10月27日 16:20
  • 48.93MB
  • 下载

自己动手写网络爬虫

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

自己动手写网络爬虫

  • 2015年12月04日 09:50
  • 27.67MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己动手写网络爬虫1
举报原因:
原因补充:

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