IOS程序员简单利用JAVA网络数据抓包

这里介绍的是 对IOS程序员 要用的网络数据抓包的一个方法:
第一步:
(1)在火狐浏览器中 用FireBug 组建 抓取JAVA数据 
(2)抓取要用的数据

(3)复制HTML文件,去我们的Xcode中去创建一个.html 的文件,并写好这四行


(4)将我们复制的文件 粘贴到第4行的位置(也就是<body> (这里) </body>),然后再去那个网页中找到<head>

同样复制HTML,然后放在第2行 (<html>的下面一行);

(5)这样,这一个网页我们已经创建好了,而且里面的数据都是我们要用的数据,这里要注意,我们现在如果打开这个网页,如果是乱码的,我们就要修改了,有些网页的使用gb2312的编码格式的,我们只要将其该为 UTF-8 就可以了!(一般都是head 下面的第一个 meta 大家注意下 )


第二步 
1,安装 eclipse ,并且准备好 jsoup-1.7.3.jar开源工具。
2.创建工程,并创建一个class,创建一个nib文件夹用来放 jsoup-1.7.3.jar,然后将那个奶瓶样的东西点击下

3.编写代码 这个代码 大部分的东西都差不多 只要改的就是 for循环里面的东西。

package Test;
import java.io.File;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Loltest {
public static void main(String[] args) {
try {
//按我们要的格式 打印
System.
out .println( "@[" );

//文件路径
String path =
"/Users/macintosh/Desktop/goods.html" ;

//加载网页 这里是用 Jsoup.parse 获取文件 path中的东西 要new一个文件 附带哪种格式
Document doc = Jsoup.parse(
new File(path), "UTF-8" );

//解析网页 这里相当于一个数组  从 doc 中,得到 数组 lis
Elements lis = doc.select(
"li" );

// 遍历数组  lis
for ( int i = 0; i < lis.size();i++){

//获取 第i个 元素 的数组
Element li = lis.get(i);

//从数组 li 中 得到 img 数组;
Element img = li.select(
"img" ).get(0);

//获取图片名 从数组 img 中取出 src 属性的值
String icon = img.attr(
"src" );
String title = img.attr(
"alt" );

//取出数组 span 中的文本 有多个 span 的时候 要注意 这里要的是第几个 从0开始
Element span1 = li.select(
"span" ).get(0);
String count = span1.text();

Element span2 = li.select(
"span" ).get(2);
String size = span2.text();

Element div = li.select(
"div" ).get(3);
String divs = div.text();

//设置我们要的数组样式的格式
System.
out .println( "@{@\"icon\":@\"" +icon + "\", @\"title\":@\"" +title + "\",@\"count\":@\"" + count + "\",@\"size\":@\"" +size + "\",@\"divs\":@\"" +divs + "\"},"   );
}
//按我们要的格式 打印
System.
out .println( "];" );
}
catch (Exception e){
e.printStackTrace();
}
}
}

------------------------------------以下OC 代码


第三步
接下来要做的,就是我们纯粹的ios操作了!

   //复制JAVA的输出结果 放置这个数组中!
    NSArray * arr = @[
 
@{@"icon":@"http://img.wdjimg.com/mms/icon/v1/9/23/8b91d2345fad29bdba4b1cf2b8c89239_68_68.png", @"title":@"愤怒的小鸟",@"count":@"219 万人安装",@"size":@"45.81M",@"divs":@"AppStore 下载量 TOP3,名扬四海的益智手游。"}
 
];
   
   
//创建 plist文件要写入的地址
   
NSString * path = @"/Users/macintosh/Desktop/素材/应用软件/app.plist";
   
   
//创建一个可变数组,以用来转换 原生成数组的数据 对以修改
   
NSMutableArray * arrWrite = [NSMutableArray array];
   
   
//遍历数组 提取信息 下载图片
   
for (NSDictionary * dic in arr) {
       
       
//取出每个图片所对应的网络地址
       
NSString * str = [dic valueForKey:@"icon"];
       
       
//网络地址转为 URL 格式
       
NSURL * url = [NSURL URLWithString:str];
       
       
//创建 NSData 以数据流的方式 下载网络图片,
       
NSData * icon = [NSData dataWithContentsOfURL:url];
       
       
//获取 网络地址所对的 末尾名 作文图片的文件名
       
NSString * lastName = [str lastPathComponent];
       
       
//创建 图片下载后要存放的地方 这里要注意 每个文件的路径要不一样,不然会发生覆盖 所以最好是提取了图片名 对应下载 这里的文件夹要注意已经创建好
       
NSString * filePath = [NSString stringWithFormat:@"/Users/macintosh/Desktop/素材/应用软件/icon/%@",lastName];
       
       
// NSData 的数据写入 要对应的文件中
        [icon
writeToFile:filePath atomically:YES]; // 返回值是BOOL类型
   
       
// arr dic 转为 NSMutableDictionary 这里要注意 dic 只是一个 常量类型 不可以去加以修改
       
NSMutableDictionary * mDic = [NSMutableDictionary dictionaryWithDictionary:dic];
       
       
//改变 mDic icon 所对应的名字 原本是一个网络路径名的 改为 一个单字符串名字
        [mDic
setValue:lastName forKey:@"icon"];
       
       
//将修改好的mDic 放置 之前创建的可变数组中 以便于写入 .plist文件中
        [arrWrite
addObject:mDic];
    }
   
   
//写入文件 将新的数组 写入.plist 文件中
    [arrWrite writeToFile:path atomically:YES];
    }


这样,大功告成!你可以去你的文件夹中看看文件的情况了!



    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值