欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 獲取網(wǎng)站圖片的示例代碼

 更新時(shí)間:2021年11月17日 10:15:26   作者:曾桂花酒同少年游  
本文主要介紹了Java 獲取網(wǎng)站圖片的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前提

最近我的的朋友瀏覽一些網(wǎng)站,看到好看的圖片,問我有沒有辦法不用手動(dòng)一張一張保存圖片!
我說用Jsoup丫!

測試網(wǎng)站

在這里插入圖片描述

打開開發(fā)者模式(F12),找到對(duì)應(yīng)圖片的鏈接,在互聯(lián)網(wǎng)中,每一張圖片就是一個(gè)鏈接!

在這里插入圖片描述

一、新建Maven項(xiàng)目,導(dǎo)入Jsoup環(huán)境依賴

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

二、代碼編寫

public class JsoupTest {
    public static void main(String[] args) throws IOException {
    	// 爬蟲的網(wǎng)站
        String url="https://mp.weixin.qq.com/s/caU6d6ebpsLVJaf-7gMjtg";
        // 獲得網(wǎng)頁的document對(duì)象
        Document document = Jsoup.parse(new URL(url), 10000);
        // 爬取含圖片的代碼部分
        Element content = document.getElementById("js_content");
        // 獲取img標(biāo)簽代碼  這是個(gè)集合
        Elements imgs = content.getElementsByTag("img");
        // 命名圖片的id
        int id=0;
        for (Element img : imgs) {
            // 獲取具體的圖片
            String pic = img.attr("data-src");
            URL target = new URL(pic);
            // 獲取連接對(duì)象
            URLConnection urlConnection = target.openConnection();
            // 獲取輸入流,用來讀取圖片信息
            InputStream inputStream = urlConnection.getInputStream();
            // 獲取輸出流  輸出地址+文件名
            id++;
            FileOutputStream fileOutputStream = new FileOutputStream("E:\\JsoupPic\\" + id + ".png");

            int len=0;
            // 設(shè)置一個(gè)緩存區(qū)
            byte[] buffer = new byte[1024 * 1024];
            // 寫出圖片到E:\JsoupPic中,  輸入流讀數(shù)據(jù)到緩沖區(qū)中,并賦給len
            while ((len=inputStream.read(buffer))>0){
                // 參數(shù)一:圖片數(shù)據(jù)  參數(shù)二:起始長度  參數(shù)三:終止長度
                fileOutputStream.write(buffer, 0, len);
            }
            System.out.println(id+".png下載完畢");
            // 關(guān)閉輸入輸出流 最后創(chuàng)建先關(guān)閉
            fileOutputStream.close();
            inputStream.close();
        }

    }
}

成果:

在這里插入圖片描述

心得:

1、網(wǎng)絡(luò)上的每一張圖片都是一個(gè)鏈接
2、我們知道整個(gè)網(wǎng)頁就是一個(gè)文檔數(shù),先找到包含圖片的父id,再通過getElementsByTag()獲取到圖片的標(biāo)簽,通過F12,我們知道圖片的鏈接是存在img標(biāo)簽里面的 data-src屬性中
3、通過標(biāo)簽的data-src屬性,就獲取到具體圖片的鏈接
4、通過輸入輸出流,把圖片保存在本地中!

到此這篇關(guān)于Java 獲取網(wǎng)站圖片的示例代碼的文章就介紹到這了,更多相關(guān)Java 獲取網(wǎng)站圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot常用注釋的講解

    springboot常用注釋的講解

    今天小編就為大家分享一篇關(guān)于springboot常用注釋的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java中的NoSuchMethodException異常原因以及解決方案詳解

    Java中的NoSuchMethodException異常原因以及解決方案詳解

    這篇文章主要介紹了Java中的NoSuchMethodException異常原因以及解決方案詳解,NoSuchMethodException是Java反射機(jī)制中的異常,在嘗試通過反射獲取方法時(shí),找不到指定的方法,通常發(fā)生在調(diào)用?Class?對(duì)象的方法時(shí),當(dāng)方法名或方法參數(shù)不匹配時(shí)拋出該異常,需要的朋友可以參考下
    2024-02-02
  • 詳解ElasticSearch6.4.0集群搭建

    詳解ElasticSearch6.4.0集群搭建

    這篇文章主要介紹了詳解ElasticSearch6.4.0集群搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 深入java對(duì)象復(fù)制的分析

    深入java對(duì)象復(fù)制的分析

    本篇文章是對(duì)java對(duì)象復(fù)制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • SpringBoot模板引擎之Thymeleaf的使用

    SpringBoot模板引擎之Thymeleaf的使用

    這篇文章主要介紹了SpringBoot模板引擎之Thymeleaf的使用,模板引擎是以業(yè)務(wù)邏輯層和表現(xiàn)層分離為目的的,將規(guī)定格式的模板代碼轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)的算法實(shí)現(xiàn),它可以是一個(gè)過程代碼、一個(gè)類,甚至是一個(gè)類庫,需要的朋友可以參考下
    2023-10-10
  • ArrayList和HashMap如何自己實(shí)現(xiàn)實(shí)例詳解

    ArrayList和HashMap如何自己實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了 ArrayList和HashMap如何自己實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 利用Java+MySQL實(shí)現(xiàn)附近功能實(shí)例

    利用Java+MySQL實(shí)現(xiàn)附近功能實(shí)例

    現(xiàn)在很多手機(jī)軟件都用附近搜索功能,但具體是怎么實(shí)現(xiàn)的呢?下面這篇文章就來給大家介紹關(guān)于利用Java+MySQL實(shí)現(xiàn)附近功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • Java 高并發(fā)五:JDK并發(fā)包1詳細(xì)介紹

    Java 高并發(fā)五:JDK并發(fā)包1詳細(xì)介紹

    本文主要介紹 Java高并發(fā)JDK并發(fā)包1的資料,這里對(duì)1.各種同步控制工具的使用 2.并發(fā)容器及典型源碼分析,有需要的小伙伴可以參考下
    2016-09-09
  • gradle和maven有哪些區(qū)別

    gradle和maven有哪些區(qū)別

    這篇文章主要介紹了gradle和maven有哪些區(qū)別,幫助大家更好的理解和選擇java程序的構(gòu)建工具,感興趣的朋友可以了解下
    2021-01-01
  • IntelliJ IDEA之高效代碼插件RainBow Brackets詳解

    IntelliJ IDEA之高效代碼插件RainBow Brackets詳解

    這篇文章主要介紹了IntelliJ IDEA之高效代碼插件RainBow Brackets詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論