Java程序中使用 Jsoup 爬虫( 简单示例 )
2024-09-05 08:29:42
一、maven项目里pom添加jsoup依赖
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
以抓取CSDN主页的右侧导航栏为例
代码示例:
package com.oukele.csdn_demo; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; import java.io.IOException; public class CsdnCrawlDemo { public static void main(String[] args) {
//目标地址
String url = "https://www.csdn.net/";
try {
Document document = Jsoup
.connect(url)
.header("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36")
.get();
// 右侧导航栏
Elements nav_com = document.getElementsByClass("nav_com");
Elements elements = nav_com.select("ul>li");
for (Element element : elements) {
System.out.println("导航标题:"+element.text()+"\t标题访问地址:"+element.select("a").attr("href")+"\r\n");
//这里 我们可以 根据 得到的访问链接 再进行 爬取.........
}
} catch (IOException e) {
System.out.println("出现错误:"+e.getMessage());
} } }
运行结果:
导航标题:推荐 标题对应的链接:/ 导航标题:最新文章 标题对应的链接:/nav/newarticles 导航标题:关注 标题对应的链接:/nav/watchers 导航标题:资讯 标题对应的链接:/nav/news 导航标题:人工智能 标题对应的链接:/nav/ai 导航标题:云计算/大数据 标题对应的链接:/nav/cloud 导航标题:区块链 标题对应的链接:https://blockchain.csdn.net 导航标题:数据库 标题对应的链接:/nav/db 导航标题:程序人生 标题对应的链接:/nav/career 导航标题:游戏开发 标题对应的链接:/nav/game 导航标题:研发管理 标题对应的链接:/nav/engineering 导航标题:前端 标题对应的链接:/nav/web 导航标题:移动开发 标题对应的链接:/nav/mobile 导航标题:物联网 标题对应的链接:/nav/iot 导航标题:运维 标题对应的链接:/nav/ops 导航标题:计算机基础 标题对应的链接:/nav/fund 导航标题:编程语言 标题对应的链接:/nav/lang 导航标题:架构 标题对应的链接:/nav/arch 导航标题:音视频开发 标题对应的链接:/nav/avi 导航标题:安全 标题对应的链接:/nav/sec 导航标题:其他 标题对应的链接:/nav/other
示例代码源码:https://github.com/oukele/Java-Crawl
最新文章
- 搞了我一下午竟然是web.config少写了一个点
- dos 下删除文件、文件夹
- python实践——批量统计mongodb数据库的集合大小
- ROM存储1/4周期正弦信号构造DDS
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
- poj2186 强连通
- 38-语言入门-38-Coin Test
- NYOJ 994 海盗分金 逆向递推
- Models and the ServiceManager
- MIUI6&;7桌面角标开源代码简介
- 对return 语句的正确性和效率进行检查
- .NET基础拾遗(3)字符串、集合和流1
- Linux内核 hlist_head/hlist_node结构解析
- 很好的容斥思想 HDU 5514
- 对VC++6.0爱得深沉(二)个性工具的定制
- JavaWeb(六)之MVC与三层架构设计
- OI退役
- Redis的数据结构之sorted-set
- maven项目的配置
- mybatis 源码分析一
热门文章
- Linux文件属性之用户和组基础知识介绍
- Excel输入公式后只显示公式却不计算如何解决?
- 【详细解析】MySQL索引详解( 索引概念、6大索引类型、key 和 index 的区别、其他索引方式)
- [git] git error: unable to unlink old
- HORSE PILL--一种新型的linux rootkit
- Java 时间不一致
- java——ArrayList中常见方法用法
- winform messageBox.Show()
- C#实现鼠标滚筒缩放界面的效果
- 学习笔记--Tarjan算法之割点与桥