我正在制作一个新闻阅读应用程序。我找到的最好的网站是http://fulltextrssfeed.com/
它从任何网页获取文本和图像并返回干净的文本。由于他们没有 API,我需要一些方法来从<div>
. 这是 div ID:
<div id="preview">
我怎样才能浸入提要并仅获取其内容(如果没有 HTML 标签,那将是一个加号,如果有我可以解决。)
我正在制作一个新闻阅读应用程序。我找到的最好的网站是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。还要检查一个教程。
希望它有所帮助。
我用它非常成功地剥离了所有 html