ios tfhpple iteye 抓取

简介:    1.使用 tfhpple    1.1.导入TFHpple   1.2.引入静态库文件libxml2.2.tbd 不是 libxml2.dylib ,ios9 xcode7不使用了   2.




 
 

1.使用 tfhpple 

  1.1.导入TFHpple

  1.2.引入静态库文件libxml2.2.tbd 不是 libxml2.dylib ,ios9 xcode7不使用了

 

2. 使用 xpath 获取数据 节点



 
//*[@id="index_main"]/div/div/h3/a

 

F12    输入 $x("//*[@id='index_main']/div/div/h3/a") 

 

 

 

 

userName	//*[@id='index_main']/div[2]/div/div[3]/a/text()
 userPicLink    //*[@id='index_main']/div[2]/div/div[1]/div/a/img/    src
 userBlogLink   //*[@id='index_main']/div[2]/div/div[3]/a             href
 title          //*[@id='index_main']/div[2]/div/h3/a/text()
 content        //*[@id='index_main']/div[2]/div/div[1]/text()[2] 
 articleLink    //*[@id='index_main']/div[2]/div/h3/a                 href
 seeNum         //*[@id='index_main']/div[2]/div/div[3]/span[2]/text()
 goodNum        //*[@id='index_main']/div[2]/div/div[3]/div/div/a[1]/text()
 badNum         //*[@id='index_main']/div[2]/div/div[3]/div/div/a[2]/text()
 insertTime     //*[@id='index_main']/div[2]/div/div[3]/span[3]/text()
 type
 html

 

 

 

 

3. 代码部分

url = http://www.iteye.com/blogs 

 

 

 

page = 0;
    category = 0;
    [self request];
}

-(void) request{
     NSString *url = [UrlUtil getIteyeBlog:category page:page];
//    [ IteyeBlogAFNetworkingUtil httpRequestWithUrl:url success:^(NSString *result) {
//        
//        NSLog(@"success =====");
//       
//    } fail:^{
//        NSLog(@"error =====");
//    }];
    
    NSLog(@"%@",url);

    NSData *htmlData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:url]];
    TFHpple * doc      = [[TFHpple alloc] initWithHTMLData:htmlData];
   
   
    NSArray *arrArticleLink= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/h3/a"];
    NSArray *arrBadNum= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/div/div/span[2]/text()"];
    NSArray *arrGoodNum= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/div/div/span[1]/text()"];
    NSArray *arrInsertTime= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/span[3]/text()"];
    NSArray *arrSeeNum= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/span[2]/text()"];
    NSArray *arrTitle= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/h3/a/text()"];
    NSArray *arrUserBlogLink= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/a"];
    NSArray *arrUserName= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[3]/a/text()"];
    NSArray *arrUserPicLink= [doc searchWithXPathQuery:@"//*[@id='index_main']/div/div/div[1]/div/a/img"];
   
    
//    userName       //*[@id='index_main']/div/div/div[3]/a/text()
//    userPicLink    //*[@id='index_main']/div/div/div[1]/div/a/img/    src
//    userBlogLink   //*[@id='index_main']/div/div/div[3]/a             href
//    title          //*[@id='index_main']/div/div/h3/a/text()
//    content        //*[@id='index_main']/div/div/div[1]/text()[2]
//    articleLink    //*[@id='index_main']/div/div/h3/a                 href
//    seeNum         //*[@id='index_main']/div/div/div[3]/span[2]/text()
//    goodNum        //*[@id='index_main']/div/div/div[3]/div/div/span[1]/text()
//    badNum         //*[@id='index_main']/div/div/div[3]/div/div/span[2]/text()
//    insertTime     //*[@id='index_main']/div/div/div[3]/span[3]/text()
//    type  
//    html
    
    //*[@id="index_main"]/div[1]/div/div[1]
    //*[@id="index_main"]/div[29]/div/div[1]
    //*[@id="index_main"]/div[30]/div/div[1]
    
    
    
     NSLog(@"arrTitle count======%ld",[arrTitle count] );
    for(int i=0;i<[arrTitle count] ;i++){
        
        NSString *userName = [[arrUserName objectAtIndex:i] content];
        NSString *userPicLink = [[arrUserPicLink objectAtIndex:i] objectForKey:@"src"];
        NSString *userBlogLink = [[arrUserBlogLink objectAtIndex:i] objectForKey:@"href"] ;
        NSString *title = [[arrTitle objectAtIndex:i] content];
        NSString *reg = [[NSString alloc] initWithFormat:@"//*[@id='index_main']/div[%d]/div/div[1]/text()", i+1 ];
        NSString *content =@"";
        @try{
        content = [[[doc searchWithXPathQuery: reg ] objectAtIndex:1 ] content];
        }@catch (NSException * e) {}
        NSString *articleLink = [[arrArticleLink objectAtIndex:i]  objectForKey:@"href"];
        NSString *seeNum = [[arrSeeNum objectAtIndex:i] content];
        NSString *goodNum = [[arrGoodNum objectAtIndex:i] content];
        NSString *badNum = [[arrBadNum objectAtIndex:i] content];
        NSString *insertTime = [[arrInsertTime objectAtIndex:i] content];
        
        NSLog(@"%d == %@-%@-%@-%@-%@-%@-%@-%@-%@-%@-",i,userName,userPicLink,userBlogLink,title,content,articleLink,seeNum,goodNum,badNum,insertTime );
    }
        
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

目录
相关文章
|
9月前
|
iOS开发 开发者
【教程】iOS如何抓取HTTP和HTTPS数据包经验分享
📱 在日常的App开发和研发调研中,对各类App进行深入的研究分析时,我们需要借助专业的抓包应用来协助工作。本文将介绍如何使用iOS手机抓包工具来获取HTTP和HTTPS数据包,并推荐一款实用的抓包应用——克魔助手,希望能够帮助读者提升工作效率,高效地完成日常工作。
|
iOS开发 Windows Web App开发
Windows下使用Fiddler抓取IOS APP的https请求
Fiddler设置: 手机端设置 手机必须与电脑连接同一网段的wifi,点击wifi右边的叹号图标,进行配置; 配置WiFi代理并保存; 在手机中打开safari,在地址栏输入刚才获取到的ip地址,以及fiddler配置好的端口号(默认是8888); 证书安装完成后,需要在手机中设置信任证书,否则依然无法抓取https请求 。
2533 0
|
Web App开发 JSON 前端开发
|
iOS开发 Web App开发
iOS 10.3下使用Fiddler抓取HTTPS请求
最近使用Fiddler抓取手机上的HTTPS请求时,遇到一个问题。设置完之后,访问HTTPS的页面,却得到一个错误 网络出错,轻触屏幕重新加载:-1202 (如下图所示)   我印象中,之前都好好的,怎么突然就不行了呢?我重新审视了一遍自己的操作步骤。
1156 0
|
1月前
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
143 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
3月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
5天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
27 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
2月前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
145 66
|
2月前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
90 11
|
2月前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
174 3

热门文章

最新文章

  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 3
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    iOS8 中无需开源库的内置功能一览
  • 7
    iOS7应用开发7:自定义视图、手势操作
  • 8
    IOS小工具以及精彩的博客
  • 9
    Facebook SDK(iOS)初学讲解
  • 10
    iOS:应用程序的线程安全性
  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    28
  • 2
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    29
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    40
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    27
  • 6
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    143
  • 7
    【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
    247
  • 8
    app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
    90
  • 9
    深入探索iOS开发中的SwiftUI框架
    145
  • 10
    ios样式开关按钮jQuery插件
    61