是否可以检索网站源代码以在 iPhone 应用程序中进行解析?

Posted

技术标签:

【中文标题】是否可以检索网站源代码以在 iPhone 应用程序中进行解析?【英文标题】:Is it possible to retrieve website source code for parsing in an iPhone app? 【发布时间】:2010-06-30 15:53:34 【问题描述】:

我正在制作一个应用程序,它直接从站点获取图像并将它们下载到应用程序文档目录中,以便在用户没有数据连接时使用。该应用程序将检查该站点的最新帖子并进行相应更新。

我以前从未对数据库做过任何事情,并认为这会更容易实现,因为我只寻找网页的一个特定部分。

有人做过这样的事吗?这甚至可能吗?

【问题讨论】:

【参考方案1】:

您是要镜像整个任意页面以供离线访问,还是只想在特定页面上挑选特定图像并存储这些图像?

这是针对任意页面还是针对事先已知的网站,以便您可以提前检查 html,从而确定您感兴趣的图像通常在哪里?

您可能想看看hpple,它是 hpricot 的 Objective-C 版本,可用于解析来自网页的 HTML。如果您知道您的应用监控的页面的 DOM,您可以使用它来提取图像名称,然后下载它们。

如果您从中获取这些图像的网站发生巨大的 HTML/CSS 变化,您将不得不考虑该怎么做。将太多特定假设放入应用程序中,它需要更新才能再次工作。在不知道您的应用试图做什么的细节的情况下,我无法判断这是否会成为您的问题。

【讨论】:

【参考方案2】:

您控制网站组件,还是从任意位置吸取数据?

如果是前者,那么以 XML 格式输出数据以供 iPhone 使用是有意义的。如果是后者,则需要读取和解析 (X)HTML DOM 树,这会有点复杂。

无论哪种方式,您所做的只是从负责的 Web 服务器读取数据。

更新:作为十人的初学者,请查看URL Loading System Overview 文档。 (NSURLConnection 是一个很好的起点。)

【讨论】:

是后者,这就是为什么我正在寻找一种方法以某种方式将页面源下载为字符串...我想下载到应用程序中的最新资源始终显示在默认主页,所以我想如果我可以将页面源作为字符串获取,我很容易将所述字符串解析为资源 url、时间戳等。 如果不是太麻烦,你能指出我正确的方向吗?

以上是关于是否可以检索网站源代码以在 iPhone 应用程序中进行解析?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式检索 iPhone 上的内存使用情况

如果安装在 iphone 中,则在 facebook 中打开共享链接以在本机应用程序中打开

嵌入视频以在 iPhone 上播放?

需要更新以在此iphone上使用蜂窝数据?

可以创建“隐藏”日历项目以在 iPhone 应用程序中显示通知警报吗?

如何从 vimeo 帐户检索视频源以在 exoplayer android 中播放?