Java程序中使用 Jsoup 爬虫( 简单示例 )

一、maven项目里pom添加jsoup依赖

 <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.10.2</version>
 </dependency>

以抓取CSDN主页的右侧导航栏为例

代码示例:

 1 package com.oukele.csdn_demo;
 2 
 3 import org.jsoup.Jsoup;
 4 import org.jsoup.nodes.Document;
 5 import org.jsoup.nodes.Element;
 6 import org.jsoup.select.Elements;
 7 
 8 import java.io.IOException;
 9 
10 public class CsdnCrawlDemo {
11 
12     public static void main(String[] args) {
13         //目标地址
14         String url = "https://www.csdn.net/";
15         try {
16             Document document = Jsoup
17                     .connect(url)
18                     .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")
19                     .get();
20             //  右侧导航栏
21             Elements nav_com = document.getElementsByClass("nav_com");
22             Elements elements = nav_com.select("ul>li");
23             for (Element element : elements) {
24                 System.out.println("导航标题:"+element.text()+"\t标题访问地址:"+element.select("a").attr("href")+"\r\n");
25                 //这里 我们可以 根据 得到的访问链接 再进行 爬取.........
26             }
27         } catch (IOException e) {
28             System.out.println("出现错误:"+e.getMessage());
29         }
30 
31 
32     }
33 
34 }

运行结果:

 1 导航标题:推荐    标题对应的链接:/
 2 
 3 导航标题:最新文章    标题对应的链接:/nav/newarticles
 4 
 5 导航标题:关注    标题对应的链接:/nav/watchers
 6 
 7 导航标题:资讯    标题对应的链接:/nav/news
 8 
 9 导航标题:人工智能    标题对应的链接:/nav/ai
10 
11 导航标题:云计算/大数据    标题对应的链接:/nav/cloud
12 
13 导航标题:区块链    标题对应的链接:https://blockchain.csdn.net
14 
15 导航标题:数据库    标题对应的链接:/nav/db
16 
17 导航标题:程序人生    标题对应的链接:/nav/career
18 
19 导航标题:游戏开发    标题对应的链接:/nav/game
20 
21 导航标题:研发管理    标题对应的链接:/nav/engineering
22 
23 导航标题:前端    标题对应的链接:/nav/web
24 
25 导航标题:移动开发    标题对应的链接:/nav/mobile
26 
27 导航标题:物联网    标题对应的链接:/nav/iot
28 
29 导航标题:运维    标题对应的链接:/nav/ops
30 
31 导航标题:计算机基础    标题对应的链接:/nav/fund
32 
33 导航标题:编程语言    标题对应的链接:/nav/lang
34 
35 导航标题:架构    标题对应的链接:/nav/arch
36 
37 导航标题:音视频开发    标题对应的链接:/nav/avi
38 
39 导航标题:安全    标题对应的链接:/nav/sec
40 
41 导航标题:其他    标题对应的链接:/nav/other

 示例代码源码:https://github.com/oukele/Java-Crawl

转载于:https://www.cnblogs.com/oukele/p/10242844.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值