【问题标题】:help with reading text body from a web page帮助从网页阅读正文
【发布时间】:2010-08-12 08:47:37
【问题描述】:

NSString *myText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"]; NSLog(@"我的文本 -> %@",myText);

我获得了 webView 的所有 JavaScript,但我想要的是从网页中保存 仅正文,因此任何正文都可以帮助我提供一些代码或任何想法,谢谢

【问题讨论】:

    标签: iphone cocoa-touch uiwebview


    【解决方案1】:

    获取文档中某个元素的innerText,即来自body元素。

    【讨论】:

    • txt 重播我试了一下,但我得到了所有的链接,所以我会做一些搜索,如果你能帮助我,我将不胜感激
    • txt 再次重播,但我所做的(如维也纳应用程序)是让用户输入所需的站点,然后获取 rssfeed 并存储正文。所以当我使用 document.body.innerText 时,我得到了正文和其他链接......我还没有找到解决方案,但我正在寻找......
    • 那么你到底想存储什么?
    • 我要存储所有的正文;当我使用 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURIqualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 我可以存储描述,标题等等...描述只是大文本中的几行,所以我需要去原始站点并获取所有文本...当我使用 NSString *content=[webView stringByEvaluatingJavaScriptFromString:@"document.body.内部文本"];我得到了文本、链接、日期......所以你能帮忙得到“只有原始文本”吗?
    • 什么是“只有原文”?你看,这就是问题所在,你必须精确地指定你想要该页面的哪个部分。 “只有原文”很混乱。那么你想确切地存储什么?一般来说,你必须遍历DOM树并得到你想要的。您的应用程序是专门用于某些选定的网站还是通用目的(如果是,目的是什么)?如果您想知道某个网站是如何构建的(什么是 DOM 树),我建议您使用一些浏览器调试器,例如用于 Firefox 的 Firebug。
    【解决方案2】:

    听起来您想获取不包括标签的文档文本。

    如果您正在访问的页面使用 JQuery,您可以简单地使用 $(body).text() 来实现此目的。

    如果没有,您可能需要自己使用正则表达式去除标签。 This post 似乎有这个问题的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2011-06-15
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多