cocoa - 使用 NSScanner 获取维基百科文章摘要问题

标签 cocoa nsstring wikipedia nsscanner

我正在尝试获取一篇文章的摘要并将其作为字符串下载。这对于某些文章非常有效,但维基百科网站不一致。因此 NSScanner 经常失败,而它对于其他文章却工作得很好。

这是我的 NSScanner 实现:

NSString *separatorString = @"<table id=\"toc\" class=\"toc\">";                                 
NSScanner *aScanner = nil;
NSString *container = nil;
NSString *muString = [NSString stringWithString:@"</table>"];

aScanner = [NSScanner scannerWithString:string];  
[aScanner setScanLocation:0];                                                   
[aScanner scanUpToString:muString intoString:nil];           
[aScanner scanString:muString intoString:nil];    

[aScanner scanUpToString:separatorString intoString:&container];

如何改进?或者还有其他方法可以得到这个吗?

为了可视化我想要文章的哪一部分,下面是一个示例:

http://en.wikipedia.org/wiki/Indigo

从此我想要从“靛蓝是电磁波谱上的颜色”到“英语是在 1289 年”的所有内容。

谢谢!

最佳答案

您可以使用WebKit's DOM API去了解实际的结构,而不是试图盲目地解析文本。

关于cocoa - 使用 NSScanner 获取维基百科文章摘要问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3772414/

相关文章:

ios - objective-c -检查NSString是否可计算

ios - Objc EXC_BAD_ACCESS 将 NSString 设置为等于另一个时

iphone - iPhone上的NSString drawAtPoint崩溃(NSString drawAtPoint)

api - 维基百科 API 返回排序数据而不是随机数据

cocoa - XCode 8.2 的深水色外观/自定义外观

objective-c - NSTextView复制粘贴问题

java - Mahout 在行动 : Chapter 06: Wikipedia job fails with java. lang.ArrayIndexOutOfBoundsException

c# - XML 占据一个元素的位置,下次使用时直接去那里

objective-c - NSDictionary 错误 - 'Count of objects differs from count of keys'

macos - 是否可以在 macOS 上使用 Amazon AWS iOS 框架?