1
我正在尝试获取文章摘要并将其作为字符串下载。这对一些文章非常有用,但维基百科网站不一致。所以NSScanner经常失败,而对其他文章工作正常。使用NSScanner获取Wikipedia文章摘要问题
这里是我的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年“。
谢谢!
这不是一个好主意,因为维基页面太不一致了。 – Pripyat 2010-09-22 19:15:14
首先,它们足够一致,以至于有六种应用程序可以解析它们并将它们精美地呈现在iPhone和iPad上。其次,如果使用文档的DOM是一个坏主意,因为它不一致,那么使用NSScanner至少是一样糟糕。无论如何,它们看起来与我一致。 “bodyContent”div中的第一个p元素。我已经点过几篇文章,他们都遵循这种形式。容易与DOM。 – 2010-09-22 19:22:52
David Schiefer:DOM是检查这些“不一致”页面的更可靠的方法。考虑到使用DOM,你可以获得#toc元素*,无论它存在于何处。你根本不能用NSScanner来做到这一点。 – 2010-09-22 21:09:35