java学习笔记 爬虫 ( httpclient 4.5.6)一

本文记录了作者学习Java爬虫过程中,使用HttpClient 4.5.6版本遇到的问题及解决办法。在安装HttpClient时,将jar包放入工程并配置Build Path。在实践中,遇到书本代码与新版本不匹配及无法实例化HttpClient的问题,尝试了不同的解决方案,并了解到HttpClient从4.x版本后发生了重大变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习httpclient的原因

  1. 总是想学学爬虫,看人家火车抢票秀到飞起、结课答辩调研数据琳琅满目,越发感觉自己菜的一比

  2. 几年前学的Java估计也凉的差不多了,所以准备让它“热乎”一下。

httpclient的安装

搜遍了整个网站,发现都是讲httpclient怎么用,安装的部分没有详细介绍的,一般只有下载网址http://hc.apache.org/downloads.cgi

(课堂上老师只讲了类、传参、多线程、网络编程、可视化编程AWT&SWING,结课作业写一个类似飞秋的聊天软件就结束了。这种外部链接jar包的我们都没玩过2333)

httpclient的下载

httpclient下载界面

  1. Binary ,点击下载后压缩包里面是所有需要用到的jar包;

  2. Source,点击下载后压缩包里有httpclient的源码和示例代码;

当然啦~第一次接触httpclient的我,把BinarySource两个里面的都下载下来了2333333

jar包的使用

jar包的使用部分我还是不太理解,希望大家可以指点迷津,谢谢


一开始,我把这些jar包都放到了java安装目录的lib目录下,发现调用不了,只能直接把jar包扔到工程里,这样的话,就得每个工程复制一波,就很麻烦,等之后再在网上找一找叭~


我的操作流程是:

在eclipse中新建一个工程

  1. 在工程图标上右键 New->Folder,新文件夹命名为lib

  2. 把所有的jar包复制到lib文件夹下

  3. 在工程图标上右键 Build Path->Configure
    Build Path… ,弹出一个对话框

  4. 在libraries里点击Add jars,选中lib文件夹下所有粘贴进去的jar包

  5. 然后在类里就可以import httpclient的类了

第一次码httpclient

我在图书馆借了《自己动手写网络爬虫》,这本书已经很老了。

各种问题接踵而来

第一个难题:书上的版本与现在的差别很大

书本上的代码没有标记import了哪些包,所以呢有些就按eclipse提示import,其余一部分那必然是那些类随着版本更新改名了呀,surprise~

第二个难题:cannot instantiate the type httpclient

书上的代码如下

//创建客户端
HttpClient httpclient=new HttpClient();
//创建get方法,类似于输入网址后点击回车
GetMethod getMethod=new GetMethod("http://www.baidu.com");
//获得状态码
int statusCode=httpclient.executeMethod(getMethod);
//查看命中情况
System.out.println("response="+getMethod.getResponseBodyAsString());
//释放连接
getMethod.releaseConnection();

这个难题就比较有意思了,在网上搜了十多分钟,出来各式各样的答案2333

  1. 第一种答案
    HttpClient httpclient = new DefaultHttpClient();
    这样写,不过得先import org.apache.http.impl.client.DefaultHttpClient;
    这种方法确实可以解决cannot instantiate httpclient的问题,但是后面的get post 方法全都凉凉了
  2. 第二种答案(靠谱)
    从4.×版本后,httpclient的用法发生极大变化。
    ①httpclient由一个类变成了一个接口
    ②GetMethod变成了HttpGet
    下面展示一下官方的案例

改了一波之后,虽然不报这些错了,但是报了一堆我不知道咋改的错,血崩

//这段代码是有问题的,我不知道怎么解决,求帮助
package jE;

import org.apache.http.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值