从url读取元标记以获取类似ios中facebook的图像

从url读取元标记以获取类似ios中facebook的图像,ios,objective-c,iphone,Ios,Objective C,Iphone,我想从url中读取图像,并将其显示在UIImageView中,就像Facebook或Twitter一样,当您在帖子中共享url时 到目前为止,据我所知,我需要阅读meta标记,但我在iOS中没有找到任何方法 我想知道是否有办法做到这一点,任何示例代码将不胜感激 谢谢你的回答。我使用了Fizu和SWXMLHash。Fizu获取HTML文档的头部,SWXMLHash提取og:image的meta标记 import UIKit import Fuzi import SWXMLHash class V

我想从url中读取图像,并将其显示在
UIImageView
中,就像Facebook或Twitter一样,当您在帖子中共享url时

到目前为止,据我所知,我需要阅读meta标记
,但我在iOS中没有找到任何方法

我想知道是否有办法做到这一点,任何示例代码将不胜感激


谢谢你的回答。

我使用了Fizu和SWXMLHash。Fizu获取HTML文档的头部,SWXMLHash提取og:image的meta标记

import UIKit
import Fuzi
import SWXMLHash

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        guard let url = NSURL(string: "http://www.foxnews.com/entertainment/2016/04/25/megyn-kelly-will-interview-donald-trump-on-fox-tv-special.html") else {
            print("Invalid URL!")
            return
        }
        guard let html = NSData(contentsOfURL: url) else {
            print("No data returned!")
            return
        }

        guard let htmlString = String(data: html, encoding: NSUTF8StringEncoding) else {
            print ("Invalid data!")
            return
        }

        do {
            let doc = try HTMLDocument(string: htmlString, encoding: NSUTF8StringEncoding)
            print(doc.head)  // gets <head> element

            guard let stringValue = doc.head?.description else {
                print("no string")
                return
            }

            let xml = SWXMLHash.parse(stringValue)

            let imageURL = try xml["head"]["meta"].withAttr("property", "og:image").element?.attributes["content"]
            print(imageURL)

        } catch let error {
            print(error)
        }
    }

}
导入UIKit
进口附子
导入SWXMLHash
类ViewController:UIViewController{
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
guard let url=NSURL(字符串:http://www.foxnews.com/entertainment/2016/04/25/megyn-kelly-will-interview-donald-trump-on-fox-tv-special.html)其他{
打印(“无效URL!”)
返回
}
guard let html=NSData(contentsOfURL:url)else{
打印(“未返回数据!”)
返回
}
guard let htmlString=String(数据:html,编码:NSUTF8StringEncoding)else{
打印(“无效数据!”)
返回
}
做{
let doc=尝试HTMLDocument(字符串:htmlString,编码:NSUTF8StringEncoding)
打印(doc.head)//获取元素
guard let stringValue=文件头?说明其他{
打印(“无字符串”)
返回
}
让xml=SWXMLHash.parse(stringValue)
让imageURL=try xml[“head”][“meta”]。withAttr(“属性”,“og:image”)。元素?。属性[“内容”]
打印(图像URL)
}捕捉错误{
打印(错误)
}
}
}

我使用了Fizu和SWXMLHash。Fizu获取HTML文档的头部,SWXMLHash提取og:image的meta标记

import UIKit
import Fuzi
import SWXMLHash

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        guard let url = NSURL(string: "http://www.foxnews.com/entertainment/2016/04/25/megyn-kelly-will-interview-donald-trump-on-fox-tv-special.html") else {
            print("Invalid URL!")
            return
        }
        guard let html = NSData(contentsOfURL: url) else {
            print("No data returned!")
            return
        }

        guard let htmlString = String(data: html, encoding: NSUTF8StringEncoding) else {
            print ("Invalid data!")
            return
        }

        do {
            let doc = try HTMLDocument(string: htmlString, encoding: NSUTF8StringEncoding)
            print(doc.head)  // gets <head> element

            guard let stringValue = doc.head?.description else {
                print("no string")
                return
            }

            let xml = SWXMLHash.parse(stringValue)

            let imageURL = try xml["head"]["meta"].withAttr("property", "og:image").element?.attributes["content"]
            print(imageURL)

        } catch let error {
            print(error)
        }
    }

}
导入UIKit
进口附子
导入SWXMLHash
类ViewController:UIViewController{
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
guard let url=NSURL(字符串:http://www.foxnews.com/entertainment/2016/04/25/megyn-kelly-will-interview-donald-trump-on-fox-tv-special.html)其他{
打印(“无效URL!”)
返回
}
guard let html=NSData(contentsOfURL:url)else{
打印(“未返回数据!”)
返回
}
guard let htmlString=String(数据:html,编码:NSUTF8StringEncoding)else{
打印(“无效数据!”)
返回
}
做{
let doc=尝试HTMLDocument(字符串:htmlString,编码:NSUTF8StringEncoding)
打印(doc.head)//获取元素
guard let stringValue=文件头?说明其他{
打印(“无字符串”)
返回
}
让xml=SWXMLHash.parse(stringValue)
让imageURL=try xml[“head”][“meta”]。withAttr(“属性”,“og:image”)。元素?。属性[“内容”]
打印(图像URL)
}捕捉错误{
打印(错误)
}
}
}

“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与Stack Overflow无关”我无意推荐任何工具。我只需要示例代码。编辑我的问题。“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与堆栈溢出无关”我无意推荐任何工具。我只需要示例代码。编辑了我的问题。感谢@nsirlconnection帮助我从HTML文档中提取标题!感谢@nsirlconnection帮助我从HTML文档中提取头部!