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