ios tfhpple iteye 抓取




 
 

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捐助),没钱捧个人场,谢谢各位。



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

 

 

 

 

转载于:https://my.oschina.net/u/3269611/blog/1619411

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值