国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[iOS基礎控件-6.9.4]抓取網頁圖片資源

2019-11-14 19:45:05
字體:
來源:轉載
供稿:網友
A.需求
1.利用瀏覽器取得網頁的源碼
2.解析源碼,獲取圖片地址(這里使用了java的一個庫來解析html)
3.獲取資源,生成plist目錄
 
B.實現步驟
1.打開一個網頁,最好里面是包含了靜態布局圖片內容的
最好不要使用safari,不方便提取源碼,這里我使用火狐
Image(136)
 
2.這里就要提取所有“力量英雄”的圖片,并且附帶英雄名
對著一張圖片右擊,選擇“查看元素”
Image(137)
 
3.找到所需要提取的區域的html源碼,復制
Image(138)
 
4.使用eclipse新建項目,創建一個html文件并黏貼源碼,補全html格式
Image(139)
 
5.引入用來解析網頁的jsoup jar包
Image(140)
 
6.使用java解析html源碼,提取圖片地址和相關信息
使用java代碼生成一個OC數組,包含了上述信息,給OC項目使用
 1 import java.io.File; 2  3 import org.jsoup.Jsoup; 4 import org.jsoup.nodes.Document; 5 import org.jsoup.nodes.Element; 6 import org.jsoup.select.Elements; 7  8  9 public class FetchDataUtil {10 11 public static void main(String[] args) {12 // TODO Auto-generated method stub13 // 指定html文件地址14 String path = "/Users/hellovoidworld/Study/java/EclipseWrokspace/Test/FetchDataFromHtml/src/pic.html";15 16 try {17 // 1.讀取html文件18 Document doc = Jsoup.parse(new File(path), "gb2312");19 20 // 2.解析出包含了圖片和信息的li元素21 Elements lis = doc.select("li");22 23 // 創建OC數組格式的字符串24 System.out.);25 26 // 3.遍歷所有li元素,提取內容27 for (Element li : lis) {28 // 3.1 提取圖片元素29 Element img = li.select("img").get(0);30 31 // 3.2 提取圖片路徑32 String imgUrl = img.attr("src");33 34 // 3.3 提取英雄名35 Element p = li.select("p").get(0);36 String heroName = p.text();37 38 // 4.拼接OC數組39 System.out.println("@{@/"heroName/":@/"" + heroName + "/",@/"imgUrl/":@/"" + imgUrl + "/"},");40 }41 42 System.out.println("];");43 }44 catch (Exception e)45 {46 e.printStackTrace();47 } finally {48 }49 50 }51 52 }
   
 1  NSArray *imgs = @[ 2       @{@"heroName":@"斧王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/FW.gif"}, 3       @{@"heroName":@"鋼背獸",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/H008.jpg"}, 4       @{@"heroName":@"獸王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/swsw.jpg"}, 5       @{@"heroName":@"發條",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/FTDJ.gif"}, 6       @{@"heroName":@"混沌騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hdqs.gif"}, 7       @{@"heroName":@"船長",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/CZCZ.jpg"}, 8       @{@"heroName":@"人馬",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/brmm.jpg"}, 9       @{@"heroName":@"龍騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Hlgr.gif"},10       @{@"heroName":@"末日守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/mrsz.gif"},11       @{@"heroName":@"撼地神牛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hdsn.jpg"},12       @{@"heroName":@"鳳凰",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hzfh.gif"},13       @{@"heroName":@"煉金",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/N01H.jpg"},14       @{@"heroName":@"神靈",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/H00Q.gif"},15       @{@"heroName":@"海牙",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/jyhm.jpg"},16       @{@"heroName":@"地獄領主",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/DXLZ.gif"},17       @{@"heroName":@"狼人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Bane.gif"},18       @{@"heroName":@"猛犸",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/UC11.gif"},19       @{@"heroName":@"食尸鬼",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Naix.gif"},20       @{@"heroName":@"夜魔",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/AYMW.gif"},21       @{@"heroName":@"全能騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/qnqs.gif"},22       @{@"heroName":@"熊貓酒仙",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/xmjx.gif"},23       @{@"heroName":@"深淵魔王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/SYLZ.gif"},24       @{@"heroName":@"裂魂人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/O00J.jpg"},25       @{@"heroName":@"魚人守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/XESW.gif"},26       @{@"heroName":@"沙王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/U00K.gif"},27       @{@"heroName":@"骷髏王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/klw.gif"},28       @{@"heroName":@"流浪劍客",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/lljk.jpg"},29       @{@"heroName":@"牛頭人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/ntrr.jpg"},30       @{@"heroName":@"屠夫",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/U00F.gif"},31       @{@"heroName":@"潮汐",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Ofar.gif"},32       @{@"heroName":@"山嶺",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/sljr.jpg"},33       @{@"heroName":@"樹精",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/sjws.gif"},34       @{@"heroName":@"尸王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/BXSW.gif"},35       @{@"heroName":@"精靈守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/jlsw.jpg"}36       ];
 1 - (void) fetchImage{ 2     NSArray *imgs = @[ 3       @{@"heroName":@"斧王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/FW.gif"}, 4       @{@"heroName":@"鋼背獸",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/H008.jpg"}, 5       @{@"heroName":@"獸王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/swsw.jpg"}, 6       @{@"heroName":@"發條",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/FTDJ.gif"}, 7       @{@"heroName":@"混沌騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hdqs.gif"}, 8       @{@"heroName":@"船長",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/CZCZ.jpg"}, 9       @{@"heroName":@"人馬",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/brmm.jpg"},10       @{@"heroName":@"龍騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Hlgr.gif"},11       @{@"heroName":@"末日守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/mrsz.gif"},12       @{@"heroName":@"撼地神牛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hdsn.jpg"},13       @{@"heroName":@"鳳凰",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/hzfh.gif"},14       @{@"heroName":@"煉金",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/N01H.jpg"},15       @{@"heroName":@"神靈",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/H00Q.gif"},16       @{@"heroName":@"海牙",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/jyhm.jpg"},17       @{@"heroName":@"地獄領主",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/DXLZ.gif"},18       @{@"heroName":@"狼人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Bane.gif"},19       @{@"heroName":@"猛犸",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/UC11.gif"},20       @{@"heroName":@"食尸鬼",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Naix.gif"},21       @{@"heroName":@"夜魔",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/AYMW.gif"},22       @{@"heroName":@"全能騎士",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/qnqs.gif"},23       @{@"heroName":@"熊貓酒仙",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/xmjx.gif"},24       @{@"heroName":@"深淵魔王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/SYLZ.gif"},25       @{@"heroName":@"裂魂人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/O00J.jpg"},26       @{@"heroName":@"魚人守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/XESW.gif"},27       @{@"heroName":@"沙王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/U00K.gif"},28       @{@"heroName":@"骷髏王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/klw.gif"},29       @{@"heroName":@"流浪劍客",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/lljk.jpg"},30       @{@"heroName":@"牛頭人",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/ntrr.jpg"},31       @{@"heroName":@"屠夫",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/U00F.gif"},32       @{@"heroName":@"潮汐",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/Ofar.gif"},33       @{@"heroName":@"山嶺",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/sljr.jpg"},34       @{@"heroName":@"樹精",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/sjws.gif"},35       @{@"heroName":@"尸王",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/BXSW.gif"},36       @{@"heroName":@"精靈守衛",@"imgUrl":@"http://dotadb.uuu9.com/UploadFiles/Dota/Hero/jlsw.jpg"}37       ];38    39     for (NSDictionary *dict in imgs) {40         // 1.圖片URL41         NSString *imgUrl = dict[@"imgUrl"];42        43         // 2.圖片數據44         NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imgUrl]];45        46         // 3.截取圖片名47         NSString *imgName = [imgUrl lastPathComponent]; // 最后的路徑名48        49         // 4.存放路徑50         NSString *imgSavedPath = [NSString stringWithFormat:@"/Users/hellovoidworld/Study/iOS/0403/FetchImage/FetchImage/heroImg/%@", imgName];51        52         // 5.保存圖片53         [imgData writeToFile:imgSavedPath atomically:YES];54     }55   56 }
Image(141)
 
8.生成plist文件
   
 1  // 保存信息到plist文件 2     NSMutableArray *heroData = [NSMutableArray array]; 3     for (NSDictionary *dict in imgs) { 4         // 1.英雄名 5         NSString *heroName = dict[@"heroName"]; 6         7         // 2.圖片URL 8         NSString *imgUrl = dict[@"imgUrl"]; 9        10         // 3.截取圖片名11         NSString *imgName = [imgUrl lastPathComponent]; // 最后的路徑名12        13         NSDictionary *hero = @{@"heroName":heroName, @"img":imgName};14         [heroData addObject:hero];15     }16   17     [heroData writeToFile:@"/Users/hellovoidworld/Study/iOS/0403/FetchImage/FetchImage/hero.plist" atomically:YES];
 
out:
Image(142)
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖远县| 博湖县| 六枝特区| 宣城市| 岫岩| 红原县| 洛隆县| 普定县| 清远市| 刚察县| 肃宁县| 荃湾区| 宝清县| 龙南县| 宜昌市| 潼南县| 梓潼县| 新干县| 华池县| 泰兴市| 五原县| 沁水县| 宁安市| 海丰县| 河源市| 平江县| 常德市| 旺苍县| 会泽县| 西吉县| 翼城县| 乐平市| 文山县| 沈丘县| 若尔盖县| 那曲县| 大港区| 洪泽县| 永顺县| 吐鲁番市| 九江县|