помочь с чтением основного текста с веб-страницы

NSString *myText = [строка webViewByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"]; NSLog(@"мой текст -> %@",myText);

Я получаю весь JavaScript для webView, но я хочу сохранить только основной текст с веб-страницы, так что может ли кто-нибудь помочь мне с некоторыми кодами или любыми идеями, спасибо


person Community    schedule 12.08.2010    source источник


Ответы (2)


Берем innerText какого-то элемента в документе, т.е. из body элемента.

person adf88    schedule 12.08.2010
comment
txt для повтора, я попробовал, но я получил всю ссылку, поэтому я поищу, и если вы можете мне помочь, я буду благодарен - person ; 12.08.2010
comment
txt снова для воспроизведения, но то, что я делаю (например, приложение «Вена»), — это позволить пользователю войти на нужный сайт, а затем получить rssfeed и сохранить тело. поэтому, когда я использую document.body.innerText, я получаю тело и другие ссылки... я еще не нашел решения, но я стал искать... - person ; 16.08.2010
comment
Итак, что именно вы хотите хранить? - person adf88; 16.08.2010
comment
я хочу сохранить все тело текста; когда я использую - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI квалифицированное имя:(NSString *)qName атрибуты:(NSDictionary *)attributeDict, я могу хранить описание, название и т. д... описание состоит всего из нескольких строк из большого текста, поэтому мне нужно перейти на исходный сайт и получить весь текст... когда я использую NSString *content=[webView stringByEvaluatingJavaScriptFromString:@document.body.innerText ]; я получаю текст, ссылки, дату... так что вы можете помочь получить только исходный текст. - person ; 16.08.2010
comment
Чего стоит только оригинальный текст? Видите ли, в этом проблема, вы должны точно указать, какую часть этой страницы вы хотите. только оригинальный текст очень запутанный. Итак, что вы хотите сохранить точно? Вообще говоря, вы должны пройти по дереву DOM и получить то, что хотите. Ваше приложение посвящено какому-то выбранному веб-сайту (-ам) или это общая цель (если да, то какова цель)? Если вы хотите узнать, как создается определенный веб-сайт (что такое дерево DOM), я предлагаю вам использовать какой-нибудь отладчик браузера, такой как Firebug для Firefox. - person adf88; 17.08.2010
comment
если вы перейдете на эту страницу:‹br› boston .com/news/nation/articles/2010/08/17/› вы видите заголовок, изображение и текст, а также некоторые ссылки и некоторые кнопки (minuButton, plusButton, printButton...), так что я хочу заключается в том, чтобы взять текст в виде строки, чтобы скопировать его в мое приложение и использовать его. - person ; 17.08.2010
comment
Но скажи мне, какова твоя цель? Общий способ извлечь текст статьи на сайте boston.com? - person adf88; 17.08.2010
comment
я приведу вам пример... мое приложение позволяет пользователю решать, откуда он хочет читать новости: пользователь размещает сайт, а приложение извлекает заголовок, текст и изображение и вставляет их в мое приложение с моим дизайном интерфейса. . - person ; 17.08.2010

Похоже, вы хотите получить текст документа без тегов.

Если страница, которую вы посещаете, использует JQuery, вы можете просто использовать $(body).text() для достижения этой цели.

Если нет, возможно, вам придется самостоятельно удалить теги с регулярным выражением. В этом сообщении, похоже, есть ответ на эту проблему. .

person William Niu    schedule 19.08.2010