一、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

最新文章

  1. 搞了我一下午竟然是web.config少写了一个点
  2. dos 下删除文件、文件夹
  3. python实践——批量统计mongodb数据库的集合大小
  4. ROM存储1/4周期正弦信号构造DDS
  5. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
  6. poj2186 强连通
  7. 38-语言入门-38-Coin Test
  8. NYOJ 994 海盗分金 逆向递推
  9. Models and the ServiceManager
  10. MIUI6&amp;7桌面角标开源代码简介
  11. 对return 语句的正确性和效率进行检查
  12. .NET基础拾遗(3)字符串、集合和流1
  13. Linux内核 hlist_head/hlist_node结构解析
  14. 很好的容斥思想 HDU 5514
  15. 对VC++6.0爱得深沉(二)个性工具的定制
  16. JavaWeb(六)之MVC与三层架构设计
  17. OI退役
  18. Redis的数据结构之sorted-set
  19. maven项目的配置
  20. mybatis 源码分析一

热门文章

  1. Linux文件属性之用户和组基础知识介绍
  2. Excel输入公式后只显示公式却不计算如何解决?
  3. 【详细解析】MySQL索引详解( 索引概念、6大索引类型、key 和 index 的区别、其他索引方式)
  4. [git] git error: unable to unlink old
  5. HORSE PILL--一种新型的linux rootkit
  6. Java 时间不一致
  7. java——ArrayList中常见方法用法
  8. winform messageBox.Show()
  9. C#实现鼠标滚筒缩放界面的效果
  10. 学习笔记--Tarjan算法之割点与桥