c httpclient抓取网页(2.1.网络爬虫入门2.1.1.环境准备创建工程-crawler)
优采云 发布时间: 2021-12-23 23:00c httpclient抓取网页(2.1.网络爬虫入门2.1.1.环境准备创建工程-crawler)
2.1.网络爬虫入门2.1.1. 环境准备
JDK1.8
IntelliJ IDEA
IDEA自带的Maven
2.1.2.环境准备
创建Maven项目itcast-crawler-first并在pom.xml中添加依赖
org.apache.httpcomponents
httpclient
4.5.3
org.slf4j
slf4j-log4j12
1.7.25
2.1.3. 加入log4j.properties
log4j.rootLogger=调试,A1
log4j.logger.cn.itcast = DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{
yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
2.1.4. 写代码
```java
编写最简单的爬虫,抓取传智播客首页:http://www.itcast.cn/
public static void main(String[] args) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://www.itcast.cn/");
CloseableHttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
}
测试结果:可以获取到页面数据
3.1. 网络爬虫简介
大数据时代,信息的采集是一项重要的任务,互联网上的数据是海量的。如果单纯依靠人力资源进行信息采集,不仅效率低下、繁琐,而且采集成本高。提升。如何在互联网上自动高效地获取我们感兴趣的信息并为我们使用是一个重要的问题,爬虫技术就是为了解决这些问题而诞生的。
网络爬虫也叫网络机器人,可以代替人自动采集,组织互联网上的数据和信息。它是一个程序或脚本,按照一定的规则自动抓取万维网上的信息,并可以自动采集所有它可以访问的页面内容获取相关数据。
从功能上来说,爬虫一般分为三部分:数据采集、处理、存储。爬虫从一个或几个初始网页的网址开始,获取初始网页上的网址。在抓取网页的过程中,它不断地从当前页面中提取新的 URL 并将它们放入队列中,直到满足系统的某个停止条件。
3.2. 为什么要学习网络爬虫
我们对网络爬虫有了初步的了解,但是为什么要学习网络爬虫呢?只有清楚地知道我们的学习目的,才能更好地学习这些知识。在这里,我总结了学习爬虫的4个常见原因:
可以实现搜索引擎
在我们学会了如何编写爬虫之后,我们就可以使用爬虫自动采集互联网上的信息,返回后采集会存储或处理相应的信息。当我们需要检索某些信息时,只能使用采集 @采集从返回的信息中检索,实现了私有搜索引擎。
大数据时代让我们获得了更多的数据源。
在进行大数据分析或数据挖掘时,需要数据源进行分析。我们可以从一些提供统计数据的网站,或者一些文献或内部资料中获取数据,但是这些获取数据的方法有时难以满足我们的数据需求,而手动从网上找也太费精力了这些数据。此时,我们可以利用爬虫技术自动从互联网上获取我们感兴趣的数据内容,并将这些数据内容抓取回来作为我们的数据源,进而进行更深入的数据分析,获取更多有价值的信息。
可以更好地进行搜索引擎优化(SEO)。
对于很多SEO从业者来说,为了更好的完成工作,他们必须非常清楚搜索引擎的工作原理,同时也需要掌握搜索引擎爬虫的工作原理。
而学习爬虫,可以更深入的了解搜索引擎爬虫的工作原理,这样你在做搜索引擎优化的时候,知己知彼,百战不殆。
有利于就业。
在就业方面,爬虫工程师方向是不错的选择之一,因为对爬虫工程师的需求越来越大,能胜任这个职位的人越来越少,所以属于比较稀缺的职业方向,并且随着数据时代和人工智能的到来,爬虫技术的应用会越来越广泛,未来会有很好的发展空间。