您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java如何獲取網站圖片,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
最近我的的朋友瀏覽一些網站,看到好看的圖片,問我有沒有辦法不用手動一張一張保存圖片!
我說用Jsoup丫!
測試網站
打開開發者模式(F12),找到對應圖片的鏈接,在互聯網中,每一張圖片就是一個鏈接!
<groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.2</version> </dependency>
public class JsoupTest { public static void main(String[] args) throws IOException { // 爬蟲的網站 String url="https://mp.weixin.qq.com/s/caU6d6ebpsLVJaf-7gMjtg"; // 獲得網頁的document對象 Document document = Jsoup.parse(new URL(url), 10000); // 爬取含圖片的代碼部分 Element content = document.getElementById("js_content"); // 獲取img標簽代碼 這是個集合 Elements imgs = content.getElementsByTag("img"); // 命名圖片的id int id=0; for (Element img : imgs) { // 獲取具體的圖片 String pic = img.attr("data-src"); URL target = new URL(pic); // 獲取連接對象 URLConnection urlConnection = target.openConnection(); // 獲取輸入流,用來讀取圖片信息 InputStream inputStream = urlConnection.getInputStream(); // 獲取輸出流 輸出地址+文件名 id++; FileOutputStream fileOutputStream = new FileOutputStream("E:\\JsoupPic\\" + id + ".png"); int len=0; // 設置一個緩存區 byte[] buffer = new byte[1024 * 1024]; // 寫出圖片到E:\JsoupPic中, 輸入流讀數據到緩沖區中,并賦給len while ((len=inputStream.read(buffer))>0){ // 參數一:圖片數據 參數二:起始長度 參數三:終止長度 fileOutputStream.write(buffer, 0, len); } System.out.println(id+".png下載完畢"); // 關閉輸入輸出流 最后創建先關閉 fileOutputStream.close(); inputStream.close(); } } }
成果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java如何獲取網站圖片”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。