我正在制作一个新闻阅读应用程序。我发现的最好的网站是http://fulltextrssfeed.com/
它从任何网页获取文本和图像,并返回干净的文本。由于他们没有 API,我需要某种方法来从 <div>
获取数据。 .
这是 div ID:
<div id="preview">
我如何浸入到提要并仅获取其内容(如果没有 HTML 标签,那就更好了,如果有的话,我可以解决这个问题。)
最佳答案
我不确定你的问题,但如果你使用 obj-c,我真的推荐 Hpple .这是一个非常好的 XML/HTML 解析器。
要使用它,您需要在“标题搜索路径”中添加${SDKROOT}/usr/include/libxml2
,您的项目选项并添加-lxml2
到“其他链接器标志”。
然后,当您已经拥有 Hpple 文件时,将其拖到您的代码中:TFHpple.h
、TFHpple.m
、TFHppleElement.h
、TFHppleElement.m
、XPathQuery.h
、XPathQuery.m
。
在代码中(为了让你的div“预览”),添加:
NSData *htmlData = [[NSString stringWithContentsOfURL:[NSURL URLWithString: @"http://www.yoursite.com/index.html"]] dataUsingEncoding:NSUTF8StringEncoding];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements = [xpathParser searchWithXPathQuery:@"//div[@id='preview']"]; // Here we use
TFHppleElement *element = [elements objectAtIndex:0];
NSString *string = [element content];
NSLog(@"%@", string);
[xpathParser release];
[htmlData release];
现在我们有了 Hpple 的“预览 div”。要获取某个子类(如 p
或 a
),请使用它:
NSArray *elements = [xpathParser searchWithXPathQuery:@"//div[@id='preview']/p/text()"];
要了解更多信息,请查看 XPath Syntax .另请检查a tutorial .
希望有帮助。
关于ios - 在 Objective-C 中仅从 <div> 获取文本和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774737/