【发布时间】:2020-04-28 21:12:20
【问题描述】:
我有一个Share Extension,我在其中得到HTML,如下所示:
@objc func actionButtonTapped(){
var html: String?
if let item = extensionContext?.inputItems.first as? NSExtensionItem,
let itemProvider = item.attachments?.first,
itemProvider.hasItemConformingToTypeIdentifier("public.url") {
itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil) { (url, error) in
if (url as? URL) != nil {
html = (self.getHTMLfromURL(url: url as? URL))
self.doStuff(html: html)
}
}
}
}
问题:
我得到了 HTML,但没有得到完整的内容。如何获得网站的完整HTML-content?
更新:
原因是我想抓取任何产品的price,但有些网站没有在第一个HTML-get 上加载price ...
link 就是一个很好的例子。如果您单击价格并检查它,您可以看到它在classcurrent-price 中。但是,如果我使用上述方法检索HTML,则不会显示此class。
【问题讨论】:
-
您是否考虑过使用带有 URLSession 的 URLRequest? session.dataTask 返回的数据元素应该可以转换为字符串表示,然后您可以对其进行解析。
-
@binaryPilot84 抱歉,我没有完全关注你。从未将 urlrequest 与 urlsession 一起使用。你能详细说明一下吗?:)
-
你可以使用 async-await 函数调用
-
不加载 WKWebView 就无法在 iOS 中抓取网页。
标签: javascript html ios swift