您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java如何獲取網(wǎng)站圖片,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
最近我的的朋友瀏覽一些網(wǎng)站,看到好看的圖片,問(wèn)我有沒(méi)有辦法不用手動(dòng)一張一張保存圖片!
我說(shuō)用Jsoup丫!
測(cè)試網(wǎng)站
打開(kāi)開(kāi)發(fā)者模式(F12),找到對(duì)應(yīng)圖片的鏈接,在互聯(lián)網(wǎng)中,每一張圖片就是一個(gè)鏈接!
<groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.2</version> </dependency>
public class JsoupTest { public static void main(String[] args) throws IOException { // 爬蟲(chóng)的網(wǎng)站 String url="https://mp.weixin.qq.com/s/caU6d6ebpsLVJaf-7gMjtg"; // 獲得網(wǎng)頁(yè)的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(); // 獲取輸入流,用來(lái)讀取圖片信息 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]; // 寫(xiě)出圖片到E:\JsoupPic中, 輸入流讀數(shù)據(jù)到緩沖區(qū)中,并賦給len while ((len=inputStream.read(buffer))>0){ // 參數(shù)一:圖片數(shù)據(jù) 參數(shù)二:起始長(zhǎng)度 參數(shù)三:終止長(zhǎng)度 fileOutputStream.write(buffer, 0, len); } System.out.println(id+".png下載完畢"); // 關(guān)閉輸入輸出流 最后創(chuàng)建先關(guān)閉 fileOutputStream.close(); inputStream.close(); } } }
成果:
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Java如何獲取網(wǎng)站圖片”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。