首页 > 代码库 > 利用Java实现简单的抓取网页数据并存放于plist中
利用Java实现简单的抓取网页数据并存放于plist中
第一步:下载Firefox,安装Firebug
进入测试网站,http://lol.duowan.com/hero/,打开Firebug,在一个英雄头像上点击右键 使用Firebug查看元素,
在 <ul id="champion_list"> 一行右键点击复制HTML获得所有数据的信息。
利用Xcode创建一个lol.html文件保存代码,
打开文件发现乱码,添加编码,如图所示
第二步:打开eclipse,创建project,new class , 导入jsoup-1.7.3.jar ,右击add to build path
代码如下:
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 public class LolTest { 9 10 public static void main(String[] args) {11 try {12 // 1.文件的路径13 String path = "/Users/tsangyupsing/Desktop/lol.html";14 15 // 2.加载网页16 Document doc = Jsoup.parse(new File(path),"UTF-8"); 17 18 // 3.解析网页19 Elements lis = doc.select("li");20 System.out.println("NSArray *apps = @[");21 22 23 24 // 4.遍历数组25 for (int i = 0; i< lis.size(); i++) {26 Element li = lis.get(i);27 Element img = li.select("img").get(0);28 String imgName = img.attr("src");29 Element span = li.select("span").get(0);30 String personName = span.text();31 System.out.println("@{@\"name\":@\"" + personName + "\", @\"icon\":@\""+ imgName +"\"},");32 // 这里直接生成oc代码 33 34 35 }36 37 System.out.println("];");38 39 40 } catch (Exception e) {41 e.printStackTrace(); 42 }43 }44 45 }
第三步,打开Xcode,创建plist,代码如下:
//// ViewController.m// java-plist//// Created by tsangyupsing on 14-9-24.// Copyright (c) 2014年 Tsangyupsing. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSArray *apps = @[ @{@"name":@"沙漠皇帝 阿兹尔", @"icon":@"http://img.dwstatic.com/lol/1409/273519298897/1409564119766.jpg"}, @{@"name":@"迷失之牙 纳尔", @"icon":@"http://img.dwstatic.com/lol/1408/273091424599/1409136231951.png"}// 此处省略N个数据 ];// for(NSDictionary *dict in apps) {// NSString *icon = dict[@"icon"];// // // 新建网络图片的URL路径// NSURL *url = [NSURL URLWithString:icon];// // //下载图片的二进制数据// NSData *data = http://www.mamicode.com/[NSData dataWithContentsOfURL:url];>// // //截取文件名 lastPathComponent:最后目录// NSString *filename = [icon lastPathComponent];// // //文件路径// NSString *iconPath = [NSString stringWithFormat:@"/Users/tsangyupsing/Desktop/icons/%@", filename];// // [data writeToFile:iconPath atomically:YES];// // } NSMutableArray *newapps = [NSMutableArray array]; for (NSDictionary *dict in apps) { NSMutableDictionary *newDict = [NSMutableDictionary dictionary]; newDict[@"name"] = dict[@"name"]; newDict[@"icon"] = [dict[@"icon"]lastPathComponent]; [newapps addObject:newDict]; } [newapps writeToFile:@"/Users/tsangyupsing/Desktop/app.plist" atomically:YES]; }@end
最后生成的plist如下图:
利用Java实现简单的抓取网页数据并存放于plist中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。