java通过Jsoup爬取网页过程详解
作者:蜀山鸭梨大 时间:2021-12-20 03:24:10
这篇文章主要介绍了java通过Jsoup爬取网页过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一,导入依赖
<!--java爬虫-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.3</version>
</dependency>
<!--httpclient依赖-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
二,编写demo类
注意不要导错包了,是org.jsoup.nodes下面的
package com.taotao.entity;
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;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
/**
* Author: TaoTao 2019/9/26
*/
public class intefaceTest {
public static void main(String[] args) throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();//创建httpClient
HttpGet httpGet = new HttpGet("http://www.cnblogs.com/");//创建httpget实例
CloseableHttpResponse response = httpClient.execute(httpGet);//执行get请求
HttpEntity entity = response.getEntity();//获取返回实体
String content = EntityUtils.toString(entity,"utf-8");//网页内容
response.close();//关闭流和释放系统资源
Jsoup.parse(content);
Document doc = Jsoup.parse(content);//解析网页得到文档对象
Elements elements = doc.getElementsByTag("title");//获取tag是title的所有dom文档
Element element = elements.get(0);//获取第一个元素
String title = element.text(); //.html是返回html
System.out.println("网页标题:"+title);
Element element1 = doc.getElementById("site_nav_top");//获取id=site_nav_top标签
String str = element1.text();
System.out.println("str:"+str);
}
}
来源:https://www.cnblogs.com/book-mountain/p/11595018.html
标签:java,jsoup,爬取,网页
0
投稿
猜你喜欢
Java初学者问题图解(动力节点Java学院整理)
2023-10-15 18:06:11
java实现随机验证码图片生成
2022-12-08 02:27:00
不可不知道的10个java谎言
2022-01-21 10:25:40
Android切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题的解决方法
2023-07-21 10:51:45
基于C#实现图片合成功能
2022-08-23 07:21:13
Gradle的缓存路径修改的四种方法(小结)
2021-11-09 11:05:51
Android运用BroadcastReceiver实现强制下线
2021-07-20 19:49:29
java中复杂查询sql语句该怎么写
2021-06-20 01:25:24
基于Java swing组件实现简易计算器
2023-03-29 02:10:07
IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程
2021-11-08 00:42:36
Java的super关键字与instanceof运算符使用方法
2022-02-18 10:02:22
23种设计模式(1) java单例模式
2021-08-28 21:56:28
android 进度条组件ProgressBar
2023-10-20 15:05:33
Idea 搭建Spring源码环境的超详细教程
2023-09-30 16:13:17
详解Spring Boot Junit单元测试
2021-10-25 23:13:55
解析Java中未被捕获的异常以及try语句的嵌套使用
2022-10-18 20:03:48
SpringBoot2.0集成WebSocket实现后台向前端推送信息
2023-08-22 18:50:39
Android调试出现The selected device is incompatible问题解决
2023-08-11 12:58:34
海量数据去重排序bitmap(位图法)在java中实现的两种方法
2022-10-10 17:27:36
不使用他人jar包情况下优雅的进行dubbo调用详解
2022-04-20 11:43:46