jsoup实现简单java爬虫

jsoup解释:

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

不多废话,上代码。

  1. 添加maven依赖

    maven依赖

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

    如果不用maven可以在在这里搜索jsoup
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  2. 查看页面的dom结构(后面需根据结构获取相应的标签元素

    列表页的dom结构如下图:
    在这里插入图片描述

    下载页的dom结构如下图:
    在这里插入图片描述

  3. 功能代码

    public static void jsoupList(String url){
        try {
        	//列表页  get()是get方法得请求  还可以通过timeout设置超时时间
            Document document = Jsoup.connect(url).get();
            Elements elements = document.select("div#content > div.entry_box > div.archive_box");
            for (Element element:elements){
            	// 获取美剧标题
            	String title = element.child(0).child(1).child(0).child(0).ownText();
            	//获取下载页面链接
            	String href = element.child(0).child(1).child(0).child(0).attr("href");
            	System.out.println(title);
            	System.out.println(href);
            	//下载页
            	Document downloadDoc = Jsoup.connect(href).get();
            	Elements elementAs = downloadDoc.select("div#entry a");
            	for (Element elementA : elementAs) {
            		//下载地址
            		String downloadAdr = elementA.attr("href");
            		String atitle = elementA.ownText();
            		System.out.println(atitle+"\t"+"下载地址:"+downloadAdr);
    			}
            	System.out.println("=================");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
    	//此处只爬取了第一页,可以循环取爬取所有页面,这里不做演示
    	String url="http://cn163.92game.net/ddc1/index.html";
    	jsoupList(url);
    }
    
  4. 运行测试…
    测试结果如下在这里插入图片描述
    完成!

发布了6 篇原创文章 · 获赞 4 · 访问量 196

猜你喜欢

转载自blog.csdn.net/weixin_42870117/article/details/103819885