编写小程序查看CSDN博客信息(ASIHTTPRequest+TFHpple)

简介: 转载请注明出处:http://blog.csdn.net/horkychen 作为一个iOS练习,使用ASIHTTPRequest+TFHpple写了个小程序读取CSDN博客的已读等信息。

转载请注明出处:http://blog.csdn.net/horkychen

作为一个iOS练习,使用ASIHTTPRequest+TFHpple写了个小程序读取CSDN博客的已读等信息微笑。其中ASIHTTPRequest负责发送HTTP Request以获取博客主页,然后使用TFHpple (XPath)解析出指定的HTML元素,然后读取相关的信息。

注意,关于两个库的使用,已经有不少资料了。其中TFHpple会使用search这个方法,现在要使用searchWithXPathQuery替换。

 

中间遇到的问题就是XPath的撰写。除了上W3CSchool读一个课程,还可以从Chrome WebStoe下一个XPath的插件,很好。

然后当目标网页加载完后, 点击一个元素就可以看到它的xpath,非常方便!

给出了多个项目,选择一个就可以了。 不过,可能不能直接使用(比如第2项的*号并不是所有的XPath library都能支持)。可以再配合FirePath测试一下:

(或许Chrome有其它插件,我手上刚好有FirePath就用它了!)

 

剩下的事情就简单了。下面贴出来主要的代码做为参考:

-(IBAction )onConnect: (id)sender;
{
    NSURL *url = nil;
    if ([[mURLTexttext] length]<=0) 
    {
            url = [ NSURLURLWithString : @"http://blog.csdn.net/horkychen"];
    }
    else 
    {
            url = [ NSURLURLWithString : [mURLTexttext]];
    }
        ASIHTTPRequest *request = [ ASIHTTPRequestrequestWithURL :url];
    [request startSynchronous ];
    NSError *error = [request error ];
    assert (!error);
    NSString *response = [request responseString ];
    NSLog ( @"%@" ,response);
    [selfparseTheData:response];
}

-(void)parseTheData:(NSString*)URLString
{
    NSData *htmlData = [[URLString dataUsingEncoding:NSUTF8StringEncoding] retain];
    TFHpple *xpathParser = [[TFHpplealloc] initWithHTMLData:htmlData];
    NSArray *elements  = [xpathParser searchWithXPathQuery:@"//ul[@id='blog_rank']/li/span/text()"]; 
     //    //html/body/div[2]/div[3]/div[2]/div/div/ul[2]/ul/li/span 
     //    //ul[@id='blog_rank']/li/span/text()
        for(int i=0;i<[elements count];i++)
    {
        TFHppleElement *element = [elements objectAtIndex:i];
        NSString *myTitle = [element content];
                NSLog(@"%@", myTitle);
                if ( 0==i )
        {
            [mCounterLblsetText:myTitle];
        }
    }
        [xpathParser release];
    [htmlData release];
}


 

 

目录
相关文章
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校实习信息发布网站附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校实习信息发布网站附带文章源码部署视频讲解等
55 20
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的大学校园生活信息平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的大学校园生活信息平台附带文章源码部署视频讲解等
36 12
|
18天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的研究生导师管理信息系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的研究生导师管理信息系统附带文章和源代码部署视频讲解等
25 5
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校教师教研信息填报系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校教师教研信息填报系统附带文章源码部署视频讲解等
15 0
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的防疫物资管理信息系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的防疫物资管理信息系统附带文章源码部署视频讲解等
16 0
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的美食信息推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的美食信息推荐系统附带文章源码部署视频讲解等
39 16
|
19天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的新能源汽车信息咨询服务附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的新能源汽车信息咨询服务附带文章和源代码部署视频讲解等
22 7
|
18天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的黄河森林公园景区票务管理信息系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的黄河森林公园景区票务管理信息系统附带文章和源代码部署视频讲解等
22 4
|
18天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校毕业生就业信息系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校毕业生就业信息系统附带文章源码部署视频讲解等
17 2
|
18天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的机电公司管理信息系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的机电公司管理信息系统附带文章源码部署视频讲解等
12 1