【问题标题】:Web scraping in Objective CObjective C 中的网页抓取
【发布时间】:2015-03-05 00:03:24
【问题描述】:

是否有任何用于解析 HTML 的 Objective C 库,例如 python 的 BeautifulSoup?谢谢

【问题讨论】:

标签: objective-c


【解决方案1】:

Apple 方面有NSXMLDocumentNSXMLParser,它们支持整齐的HTML 输入。 (Tree-Based XML Programming Guide)

在 iOS (4.3) 上,当前没有可用的 NSXMLDocument,因此您必须使用 NSXMLParser 或 libxml2.2。

有关解析格式错误的 HTML 的潜在问题的更多信息:
What's the best approach for parsing XML/'screen scraping' in iOS? UIWebview or NSXMLParser?

最可靠的解决方案是使用屏幕外 WebView,将 HTML 源加载到其中,然后访问其 DOM 树

【讨论】:

  • 并不是说你对其他任何一个都错了,但NSXMLParser 在 iOS 上可用。
  • 你完全正确。之后我将 NSXMLParser 添加到我的答案中。会改写。谢谢。 :)
【解决方案2】:

我找到的最好方法是NSXMLParser + libtidy。但是,现在有许多第三方库可用,这使得解析更容易。 (最后一个答案写于 2011 年)。

  • Google 的Gumbo HTML5 parser 很不错。它是用纯 C99 编写的,您可以将它与 Objective C 一起使用(使用像 this one 这样的包装器)。
  • 如果你想要纯 Objective C 库,那么 Onohpple 都不错。 HTMLReader 也是一个不错的选择。
  • 如果你喜欢 Swift,你可以使用NDHpple,它是一个基于 hpple 的 swift 包装器。或者您可以使用Swift-HTML-Parser。 (奖励:Alamofire 与 Python Requests 一样好,使用起来很愉快)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2021-07-03
    相关资源
    最近更新 更多