JAVA抓取網頁圖片並下載到本地
package com.yong.util; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /*** * java抓取網路圖片 * @author swinglife * */ public class CatchImage { // 地址 private static final String URL = "http://www.baidu.com"; // 編碼 private static final String ECODING = "UTF-8"; // 獲取img標籤正則 private static final String IMGURL_REG = "<img.*src=(.*?)[^>]*?>"; // 獲取src路徑的正則 private static final String IMGSRC_REG = "http:\"?(.*?)(\"|>|\\s+)"; public static void main(String[] args) throws Exception { CatchImage cm = new CatchImage(); //獲得html文字內容 String HTML = cm.getHTML(URL); //獲取圖片標籤 List<String> imgUrl = cm.getImageUrl(HTML); //獲取圖片src地址 List<String> imgSrc = cm.getImageSrc(imgUrl); //下載圖片 cm.Download(imgSrc); } /*** * 獲取HTML內容 * * @param url * @return * @throws Exception */ private String getHTML(String url) throws Exception { URL uri = new URL(url); URLConnection connection = uri.openConnection(); InputStream in = connection.getInputStream(); byte[] buf = new byte[1024]; int length = 0; StringBuffer sb = new StringBuffer(); while ((length = in.read(buf, 0, buf.length)) > 0) { sb.append(new String(buf, ECODING)); } in.close(); return sb.toString(); } /*** * 獲取ImageUrl地址 * * @param HTML * @return */ private List<String> getImageUrl(String HTML) { Matcher matcher = Pattern.compile(IMGURL_REG).matcher(HTML); List<String> listImgUrl = new ArrayList<String>(); while (matcher.find()) { listImgUrl.add(matcher.group()); } return listImgUrl; } /*** * 獲取ImageSrc地址 * * @param listImageUrl * @return */ private List<String> getImageSrc(List<String> listImageUrl) { List<String> listImgSrc = new ArrayList<String>(); for (String image : listImageUrl) { Matcher matcher = Pattern.compile(IMGSRC_REG).matcher(image); while (matcher.find()) { listImgSrc.add(matcher.group().substring(0, matcher.group().length() - 1)); } } return listImgSrc; } /*** * 下載圖片 * * @param listImgSrc */ private void Download(List<String> listImgSrc) { try { for (String url : listImgSrc) { String imageName = url.substring(url.lastIndexOf("/") + 1, url.length()); URL uri = new URL(url); InputStream in = uri.openStream(); FileOutputStream fo = new FileOutputStream(new File(imageName)); byte[] buf = new byte[1024]; int length = 0; System.out.println("開始下載:" + url); while ((length = in.read(buf, 0, buf.length)) != -1) { fo.write(buf, 0, length); } in.close(); fo.close(); System.out.println(imageName + "下載完成"); } } catch (Exception e) { System.out.println("下載失敗"); } } }
相關推薦
JAVA抓取網頁圖片並下載到本地
package com.yong.util; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import jav
python爬蟲小試例項--爬取網頁圖片並下載
一、python安裝在python的官網下載python版本,需要下載對應版本(在計算機-屬性中檢視自己是32位作業系統還是64位作業系統),我是64位的,就下載64位對應的安裝包了(如下圖:Windows x86-64 executable installer)。官網下載地
用java抓取網頁圖片
記得是這個月9號來深圳的,找了快20天的工作,結果只有那麼三四家公司打電話要我去面試,真的不知道什麼原因啊。是我投簡歷投簡歷投少了麼?還是這個季節就是招聘冷季節?真的不清楚。前天去一家創業公司面試,公司感覺還好,整體還算滿意,很幸運的被面試上了。談的工資也是我能接受的,就答
使用python抓取網站圖片,下載到本地
使用python抓取網站圖片,下載到本地 看程式碼 import os import random import urllib.request def imgs(url): try: rep = urllib.request.Request(url)
JAVA抓取網頁的圖片,JAVA利用正則表示式抓取網站圖片
利用java抓取網頁上的所有圖片: 用兩個正則表示式: 1、匹配html中img標籤的正則:<img.*src=(.*?)[^>]*?> 2、匹配img標籤中得src中http路徑的正則:http:\"?(.*?)(\"|>|\\s+) 實現:
實現抓取網頁圖片(JAVA實現)
最近學習網頁設計,想仿網路上的一個頁面,圖片素材一個一個地儲存起來太麻煩。就想著裡利用JAVA來實現一個小小的網頁圖片爬蟲,程式碼很簡單,不一會兒就實現了,但是當我訪問https協議的圖片時,一直報javax.net.ssl.SSLKeyException異常,到我儲
第十講:Python爬取網頁圖片並儲存到本地,包含次層頁面
上一講我們講到了從暱圖網的首頁下載圖片到本地,但是我們發現首頁上面的大部分連結其實都可以進入到二級頁面。 在二級頁面裡面,我們也
Java抓取網頁數據(原網頁+Javascript返回數據)
class mail 搜索引擎 網頁數據 點擊 ann 技術 while span 轉載請註明出處! 原文鏈接:http://blog.csdn.net/zgyulongfei/article/details/7909006 有時候由於種種原因,我們需要采集某個網站的數
PHP抓取遠端圖片儲存到本地的實現方法
PHP抓取遠端圖片儲存到本地的實現方式<?php // Function: 獲取遠端圖片並把它儲存到本地 // //// 確定您有把檔案寫入本地伺服器的許可權 // //// 變數說明:// $url 是遠端圖片的完整URL地址,不能為空。// $filename 是
Python初學者好玩案例(一):最短的抓取網頁圖片程式碼,只有10行
這幾天閒來無事,又研究了一下Python的基礎內容,首先研究的是如何抓取網頁資料。 發現大神們通常在初級教程裡就要寫很多程式碼,真讓我們這些初學者無所適從。 加上Python的各種版本不同,也會讓初學者頭腦,在此提醒初學者,看資料一定要注意軟體版本號。 還是按照我的原則,凡
(PHP)用cURL抓取網頁資訊並替換部分內容
<?php /** * 用cURL抓取網頁資訊並替換部分內容 * User: Ollydebug * Date: 2015/11/11 * Time: 19:13 */ $curlo
python多執行緒抓取網頁內容並寫入MYSQL
自己的第一個多執行緒練習,中間踩了不少坑,程式寫的很渣,但是勉強能實現功能需求了 ,實際上抓取網頁是多執行緒在MYSQL寫入的時候是加了執行緒鎖的 ,實際上感覺就不是在多執行緒寫入了,不過作為第一個練習程式就這樣吧 ,後續部落格還會繼續更新優化版本。## htm
網路爬蟲之爬取網頁圖片並儲存
爬取網頁圖片並儲存在本地 將網頁上的圖片爬取之後,以圖片原有名字儲存在本地 程式碼: import requests import os url="http://p1.so.qhmsg.com/bdr/_240_/t01dab8b2e73fe661d6
node.js抓取網路圖片儲存到本地,node.js抓取防盜鏈網路圖片儲存到本地
node.js抓取網路圖片儲存到本地,node.js抓取防盜鏈網路圖片儲存到本地 使用模組request、fs,request模組在npm裡平均月下載量超過3000W次,那是相當的牛逼。 node版本
Java抓取網頁資料(原網頁+Javascript返回資料)
轉載請註明出處! 有時候由於種種原因,我們需要採集某個網站的資料,但由於不同網站對資料的顯示方式略有不同! 本文就用Java給大家演示如何抓取網站的資料:(1)抓取原網頁資料;(2)抓取網頁Jav
java抓取網頁 --- 網路爬蟲
wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------
Python爬蟲 BeautifulSoup抓取網頁資料 並儲存到資料庫MySQL
最近剛學習Python,做了個簡單的爬蟲,作為一個簡單的demo希望幫助和我一樣的初學者 程式碼使用python2.7做的爬蟲 抓取51job上面的職位名,公司名,薪資,釋出時間等等 直接上程式碼,程式碼中註釋還算比較清楚 ,沒有安裝mysql需要遮蔽掉相關程式碼:#!/u
php遠端抓取網站圖片並儲存
<?php /** * 一個用於抓取圖片的類 * * @package default * @author WuJunwei */ class download
抓取網頁資料並解析Android
這天遇到這樣一個需求:這種頁面資料可以抓取嗎? 隨後提供了賬號、密碼和網站地址: 帳號:kytj1 密碼:****************** 登陸地址:http://student.tiaoji.kaoyan.com/tjadm 主要思路: 1、使用F
使用scrapy框架爬取蜂鳥論壇的攝影圖片並下載到本地
utf 賦值 col 異常處理 創建文件夾 clas watermark follow ret 目標網站:http://bbs.fengniao.com/使用框架:scrapy 因為有很多模塊的方法都還不是很熟悉,所有本次爬蟲有很多代碼都用得比較笨,希望各位讀者能給處意見