【问题标题】:Pulling data from a webpage like Facebook从 Facebook 等网页中提取数据
【发布时间】:2014-01-01 00:40:18
【问题描述】:
我已经在谷歌上搜索了几个小时,但我还没有找到这个非常常见的请求的答案。
我正在尝试制作一个能够从网站提取基本数据并将其显示在简单 UIView 中的 iOS 应用程序。我想要做的与 Facebook 在消息中输入链接时所做的完全一样。例如:
我是网络语言的新手,所以我正在寻找关于如何做到这一点的详细而简单的答案。我不确定这是否是一个过于复杂的过程,可能超出了我的技能水平,但如果它们是任何 Github 库或任何可以帮助我的工具,我很想知道!
【问题讨论】:
标签:
html
objective-c
xcode
ios7
【解决方案1】:
Facebook 使用Open Graph Protocol。网站根据标准添加元标记...
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
然后用户代理(例如您的应用程序)获取页面,解析元标记并能够显示页面提供的任何信息。
如果您刚开始学习移动开发,请记住一件事,即手机的数据连接成本高昂——就美元、延迟和电池寿命而言。每个往返连接需要 300-2000 毫秒才能完成,因此您希望保持有效负载轻量,并发出尽可能少的请求。因此,如果您希望为 iPhone 应用程序实现这一点,您很可能需要一个服务器或某种后端来完成繁重的工作。
不幸的是,我不知道任何 Obj-C 示例,但这里有一个使用 NodeJS 的 scraping a page and extracting OG tags 的简单示例。从那里,您可能希望将轻量级 JSON 对象发送回您的移动应用程序。