我正在尝试在我的应用程序中获取亚马逊产品的图像。我在浏览器中检查了图像,发现它们class-Name
是gc-design-img-preview
. 实际上Elements
同一个班级还有更多,所以我只尝试了第一个。
这是我尝试过的:
func getAmazonImage(doc: Document) -> String {
let images: Elements? = try? doc.getElementsByClass("gc-design-img-preview")
guard (images?.first()) != nil else { return "nope" }
guard let imageUrl : String = try! images?.first()!.text() else { return "nope2" }
print("image: " + imageUrl)
return imageUrl
}
然而,这并没有返回任何东西,而只是返回一个空的String
......我在这里错过了什么?我正在使用SwiftSoup
,也许还有另一种方法可以做到这一点?
更新:
我认为这是我需要的,但在Swift
:
const imgSrc = document.querySelector('li.image.item.itemNo0.maintain-height.selected img').getAttribute('src')
console.log(imgSrc) // https://images-na.ssl-images-amazon.com/images/I/71y%2BUGuJl5L._SX522_.jpg