IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java网络爬虫小案例(详细版) -> 正文阅读

[Java知识库]Java网络爬虫小案例(详细版)

作者:recommend-item-box type_blog clearfix

有bug:修改了<scope>test</scope>后,在控制台还是不能显示日志信息,没找到解决办法

配置了log4j.properties,控制台没有显示日志信息_连胜是我偶像的博客-CSDN博客

简易版:?Java网络爬虫小案例(简易版)_连胜是我偶像的博客-CSDN博客

1. 环境

JDK 1.8

IDEA

IDEA自带的Maven

2. 创建一个Maven工程?

2.1 new 一个module

file->new->project->选择Maven:自己取名一路next

然后file->new->modele

一个project可以有多个module。project:项目,module:模块

IntelliJ IDEA 中 Project 和 Module 的概念及区别_CG国斌的博客-CSDN博客_idea的project和module

2.2 选择Maven 取名字然后,下一步

结果:

3. 导 jar 包

Maven Repository: Search/Browse/Explore (mvnrepository.com)

?点击上面网址搜索jar包。后面有所有需要的jar包代码,也可不去网页下载,翻到后面。

3.1 示例 : httpclient

?点击4.5.2

?复制框框内的代码,粘贴到idea中

?粘贴到 module 的 pom.xml 的 <dependencies> 中

有爆红,选择右上角的maven,刷新下载

右下角显示下载 ,等待即可,太慢了就去配置阿里云仓库

IDEA setting.xml在哪里?配置阿里云仓库的setting.xml?_连胜是我偶像的博客-CSDN博客_idea配置阿里云仓库

3.2 所有需要的 jar 包

Apache?HttpClient

  <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.2</version>
        </dependency>

?SLF4J?LOG4J?12?Binding?Relocated

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
    <scope>test</scope>
</dependency>

?4. 创建日志文件

cn.itcast.crawler-first -> src -> main -> 右键resources ->new -> file -> 取名:log4j.properties?

log4j.properties 中写入下列代码:

1og4j.rootLogger=DEBUG,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-MW-dd HH:mm:Ss,SS5)[%t][%c]-[%p] %m%n

?5. 实例:创建测试文件

5.1 创建一个包?

cn.itcast.crawler-first -> src -> main -> 右键java ->new ->package -> 取名:cn.itcast.?crawler.test

?解决idea右键没有java class选项 - 知乎 (zhihu.com)

5.2 在test包中创建一个Java class文件

写入代码

package cn.itcast.crawler.test;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
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 CrawlerFirst {
    public static void main(String[] args) throws Exception {
        // 1. 打开浏览器 : 创建HttpClient对象
        // 打入 HttpClients.createDefault(),按下ctrl+alt+v,自动补全等号左边
        CloseableHttpClient httpClient = HttpClients.createDefault();

        // 2. 输入网址 : 发起get请求创建HttpGet对象
        // url 中是需要被解析的网址
        HttpGet httpGet = new HttpGet("http://www.itcast.cn");

        // 3. 按回车,发起请求,返回响应 : 使用httpClient对象发起请求
        // 会有一个异常,throws Exception即可
        CloseableHttpResponse response = httpClient.execute(httpGet);

        // 4. 解析响应,获取数据
        // 判断状态码是否是200
        if (response.getStatusLine().getStatusCode()==200){
            // 拿到响应体
            HttpEntity httpEntity = response.getEntity();
            // 解析响应体,拿到静态页面的数据,将获取到的数据装入string中
            String content = EntityUtils.toString(httpEntity, "utf-8");

            // 打印content 查看效果
            // 快捷键输入 idea:sout 按enter; eclipse : syso 按alt+/ 。
            System.out.println(content);
        }
    }
}

?运行结果:

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 07:54:26  更:2022-05-08 07:55:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:47:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码