试了一下。基本上适合全部的检索结果。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. //获取数据
NSURL *url=[NSURL URLWithString:@"http://s.g.wanfangdata.com.cn/Paper.aspx?q=hiv"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; //解析数据
TFHpple *hpple=[TFHpple hppleWithHTMLData:data]; //XPATH字符串 越短越好。可是要能过滤出符合要求的结果
//xpath教程:http://www.w3cschool.cn/index-14.html
NSString *xpathStr =@"//div/ul/li [@class='title_li'] /a [not(@class)]";//解析标题
NSString *xpathStr2 =@"//div/ul/li [@class='zi'] ";//解析简单介绍
NSArray *arr=[hpple searchWithXPathQuery:xpathStr];
NSArray *arr2=[hpple searchWithXPathQuery:xpathStr2];
//NSLog(@"%@",arr2);
//这个数组中就有须要的值 alltilte=[[NSMutableArray alloc]init];
alltext=[[NSMutableArray alloc]init];
alltilte = [self SaveArry:arr];
alltext = [self SaveAlltext:arr2]; for(int i=0;i<alltilte.count;i++)
{
NSLog(@"标题%@",alltilte[i]);
NSLog(@"简单介绍%@",alltext[i]);
}
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"]; } -(NSMutableArray *)SaveAlltext :(NSArray *)_arry
{
for (TFHppleElement *tmp in _arry)
{
NSString * string =[tmp raw]; NSRange range;
// NSRange range2;
range = [string rangeOfString:@"<br />"];
string = [string substringToIndex:range.location]; NSString *temp =[string stringByReplacingOccurrencesOfString:@"<li class=\"zi\">
"
withString:@""];
temp =[temp stringByReplacingOccurrencesOfString:@"<font color=\"red\">"
withString:@""];
temp =[temp stringByReplacingOccurrencesOfString:@"</font>"
withString:@""];
temp =[temp stringByReplacingOccurrencesOfString:@"<li class=\"zi\">"
withString:@""];
[alltext addObject:temp];
}
return alltext;
} -(NSMutableArray *)SaveArry: (NSArray *)_arry
{ for (TFHppleElement *tmp in _arry)
{
NSString * string =[tmp raw];
NSRange range;
NSRange range2;
range = [string rangeOfString:@"</a>"];
string = [string substringToIndex:range.location];
NSString *temp =[string stringByReplacingOccurrencesOfString:@"<font color=\"red\">" withString:@""];
temp=[temp stringByReplacingOccurrencesOfString:@"</font>" withString:@""];
range = [string rangeOfString:@">"];
range2 = [string rangeOfString:@"img"];
if(range.length!=0&&range2.length==0)
{
string = [temp substringFromIndex:range.location+1];
[alltilte addObject:string];
} } return alltilte;
}

万方数据知识平台 TFHpple +Xpath解析的更多相关文章

  1. @1-4使用Xpath解析豆瓣短评

    使用Xpath解析豆瓣短评 Python爬虫(入门+进阶)     DC学院 本节课程主要介绍解析神器Xpath是什么.Xpath如何安装及使用,以及使用实际的例子讲解Xpath如何解析豆瓣短评的网页 ...

  2. 分析Python中解析构建数据知识

    分析Python中解析构建数据知识 Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记 ...

  3. 爬虫系列二(数据清洗--->xpath解析数据)

    一 xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML 文档中进行导航 XPath 包 ...

  4. xpath解析数据

    xpath解析数据 """ xpath 也是一种用于解析xml文档数据的方式 xml path w3c xpath搜索用法 在 XPath 中,有七种类型的节点:元素.属 ...

  5. 数据的查找和提取[2]——xpath解析库的使用

    xpath解析库的使用 在上一节,我们介绍了正则表达式的使用,但是当我们提取数据的限制条件增多的时候,正则表达式会变的十分的复杂,出一丁点错就提取不出来东西了.但python已经为我们提供了许多用于解 ...

  6. python爬虫使用xpath解析页面和提取数据

    XPath解析页面和提取数据 一.简介 关注公众号"轻松学编程"了解更多. XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.X ...

  7. 论文 查重 知网 万方 paperpass

    相信各个即将毕业的学生或在岗需要评职称.发论文的职场人士,论文检测都是必不可少的一道程序.面对市场上五花八门的检测软件,到底该如何选择?选择查重后到底该如何修改?现在就做一个知识的普及.其中对于中国的 ...

  8. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...

  9. 大数据竞赛平台——Kaggle 入门

    Reference: http://blog.csdn.net/witnessai1/article/details/52612012 Kaggle是一个数据分析的竞赛平台,网址:https://ww ...

随机推荐

  1. 进入MFC讲坛的前言(三)

    MFC中的窗口创建及窗口消息映射 我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清.这两者之间是紧密联系在一起的,但是MFC为了自 ...

  2. Actor::updateMassFromShapes

    unity报错Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh s ...

  3. vpn技术原理详解

    转载于:http://blog.csdn.net/quqi99/article/details/7334617 假设有这样一个需求,需要从家中访问公司内网机器,可以用ssh遂道技术来作转发,遂道分正向 ...

  4. [转]mysql慢查询日志

    原文链接:http://www.cnblogs.com/zhangjing0502/archive/2012/07/30/2615570.html 参考博文:http://blog.chinaunix ...

  5. 一、Nginx配置文件详解

    配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...

  6. 新浪微博中tableview中头部信息

    摘自http://www.cnblogs.com/gcb999/p/3151665.html #import <UIKit/UIKit.h> @class User; @protocol ...

  7. 目录 of 2013-2014-1(内容已更新结束)

    (内容已更新结束) UML部分: ---------------1.概述2.用例图3.类图4.顺序图 MVC部分: ----------------1.概述2.路由3.控制器4.视图5.模型6.安装部 ...

  8. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  9. first-,second- and third-class value

    In computer science, a programming language is said to have first-class functions if it treats funct ...

  10. [教程]安装青鸟云Web服务器

    青鸟云Web服务器 支持的安装环境: Windows XP (32bit) Windows Server 2003/R2 (32bit) Windows 7 (32/64bit) Windows Se ...