网络爬虫1:简述HtpClient

从今天开始,随便写写博文。恰好刚写了一个关于 网络爬虫的小程序,那么就先写点关于网络爬虫的。

什么是网络爬虫?

百度百科如是说:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫

维基百科这样解释:网络蜘蛛(Web spider)也叫网络机器人,指的是“自动化浏览网络”的程式。这样的电脑程式是为了自动从网络撷取特定的资料,或为了组织网络上的资料,所设计的“‘自动浏览网络’的程式”。

由此,我们可以看出网络爬虫的基本特征:自动、有一定规则、收集资料。

详细的概念大家可以google或者百度,这里不多说。

网络爬虫的最常用功能就是抓取网页。今天就从最基本的访问url开始。

为了方便开发,这里引入Apache的HttpClient包。它可以处理http连接中的各种问题。

(HttpClient入门:http://www.ibm.com/developerworks/cn/opensource/os-httpclient/,这个地址所讲的HttpClient应该是3.0+版本,现在的4.1版本的HttpClient略有改变,不过大家还是可以参考一下)

使用 HttpClient 需要以下 6 个步骤:

1. 创建 HttpClient 的实例

HttpClient httpClient = new DefaultHttpClient();

2. 创建某种连接方法的实例HttpPost或者HttpGet。在HttpPost 的构造函数中传入待连接的地址

HttpPost httpPost = new HttpPost("http://www.baidu.com/");

3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例

HttpResponse httpResponse = httpClient.execute(httpGet); 

4. 读 response

HttpEntity httpEntity = httpResponse.getEntity();

5. 释放连接。无论执行方法是否成功,都必须释放连接

httpGet.abort();

httpClient.getConnectionManager().shutdown();

6. 对得到后的内容进行处理

示例源码已上传,稍后附上链接


这个只是最基本的网页抓取示例,而当真正的应用到程序中时就会考虑到非常多的问题,比如资源冲突,状态码什么的。

下篇文章就会步入正题,开始一步步设计一个简单的网络爬虫。

大家可以下载Crawler4j看看,代码设计的很合理。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值