Java は jsoup を使用して Web ページの画像をキャプチャします

1. Jsoupの概要

1.1. はじめに

    jsoup は、URL アドレスと HTML テキスト コンテンツを直接解析できる Java HTML パーサーです。非常に省力的な API を提供します。

 データは、DOM、CSS、および jQuery と同様の操作を通じて取得および操作できます。

1.2. Jsoupの主な機能

    1) URL、ファイル、または文字列から HTML を解析する

    2) DOM または CSS セレクターを使用してデータを検索および取得する

    3) 操作可能なHTML要素、属性、テキスト

    注: jsoup は MIT プロトコルに基づいてリリースされており、商用プロジェクトで安心して使用できます。

Jsoupを使ってBaiduのデータと画像をキャプチャし、コードを添付してみましょう

付属maven 

<dependency> 
    <groupId>org.jsoup</groupId> 
    <artifactId>jsoup</artifactId> 
    <version>1.7.3</version> 
</dependency>
   private static String url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=互联网";

    public static void main(String[] args) throws Exception {
        //链接到目标地址
        Connection connect = Jsoup.connect(url);
        //设置useragent,设置超时时间,并以get请求方式请求服务器
        Document document = connect.userAgent("Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)").timeout(6000).ignoreContentType(true).get();
        Thread.sleep(1000);
        //获取指定标签的数据
        Element elementById = document.getElementById("content_left");
        //输出文本数据
//        System.out.println(elementById.text());
        //输出html数据
//        System.out.println(elementById.html());
        //获取所有图片链接
        Elements imgtag = document.getElementsByTag("img");
        for (int i = 0; i < imgtag.size(); i++) {
            if (StringUtils.isNotEmpty(imgtag.get(i).attr("src"))&&imgtag.get(i).attr("src").startsWith("http")) {
                System.out.println(imgtag.get(i).attr("src"));
            }
        }
    }

正常にクロールされました

 

ここでは jsoup の基本的な機能を紹介しましたが、jsoup は優れた拡張性を備えた API 設計により、セレクターの定義を通じて非常に強力な HTML 解析関数を開発できます。また、jsoup プロジェクト自体の開発も活発なので、Java を使用していて HTML の処理が必要な場合は、試してみるとよいでしょう。

 

おすすめ

転載: blog.csdn.net/qq_30667039/article/details/114288112