html - 使用 Swift 解析网站源 HTML 文件

标签 html string swift parsing

我一直在使用 String(contentsOfURL: NSURL) 来检索网站的 HTML 文件(在我的例子中是 Instagram 上的帖子,比如这个 https://instagram.com/p/5FcnSATPa4/)。我需要一些关于帖子的信息,例如帖子收到的点赞数或与照片关联的位置。

例如,HTML 文件的这一行包含我需要的一些信息 \"location\":{\"has_public_page\":true,\"name\":\"Kaputa\\u015f海滩”。问题是:如何提取“Kaputa Beach”名称?

谢谢。

最佳答案

为什么不使用实际的 Instagram API? https://instagram.com/developer/endpoints/likes/

当您直接从源代码中获取信息时,为什么还要花时间解析 HTML。

您可以使用 OAuth 授权 ( https://github.com/dongri/OAuthSwift )

您可以使用下面的调用检索喜欢图像的用户列表,然后您可以从中得出“喜欢”计数:

https://api.instagram.com/v1/media/{media-id}/likes?access_token=ACCESS-TOKEN

或者,如果您需要有关媒体的更多信息,您可以使用以下端点:

https://api.instagram.com/v1/media/{media-id}?access_token=ACCESS-TOKEN

详情在这里:https://instagram.com/developer/endpoints/media/#get_media

这是一个使用 Instagram API 的 swift 应用程序示例,您可以在 GitHub 上查看该项目以了解其工作原理。

https://maniacdev.com/2015/01/example-a-swift-based-ios-instagram-photo-downloader-and-browser


编辑:

您无需以特定用户身份进行身份验证即可使用您需要的方法。

  1. 以您自己的身份登录 instagram: https://instagram.com/accounts/login/

  2. 注册一个新客户:https://instagram.com/developer/clients/manage/

  3. 在请求中使用您的新客户端 ID 而不是您的访问 token : https://api.instagram.com/v1/media/{media-id}/likes?client_id={CLIENT_ID} 或者 https://api.instagram.com/v1/media/shortcode/5FcnSATPa4?client_id={CLIENT_ID}

您每小时最多可以使用您的客户端 ID 发出 5000 个请求。

您可以在此处试用 Instagram API:https://apigee.com/console/instagram

请记住使用您的客户 ID。

关于html - 使用 Swift 解析网站源 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577477/

相关文章:

java - 如何检测输入的字符串是否有多个连续空格?

javascript - 我如何从 JS 到 Swift 通信

swift - 如何在小 Label.text 中显示大文本?

javascript - 修改textarea时如何在div中获取输出?

html - % 定位和调整大小在 HTML 中是如何工作的?

c++ - 匹配字符串长度;查找和替换;在 C++ 中删除 HTML 标签

使用 CompareTo 的 VB.NET 排序顺序 - 结果不正确?

ios - 如何使用 Swift 将 Payfort SDK 集成到 iOS

javascript - 制作所有图像的来源 https ://using *. user.js

javascript - 加载没有图像的网站以提高效率