无法从网页中抓取页面源代码中可用的图像链接



我试图从使用xmlhttp请求的网页获取食谱图像链接。图像链接可在页面源中某些样式属性中使用。然而,当我像下面这样尝试时,我得到background-image作为输出,而style的值包含图像链接。

I've been far:

Sub GrabImageLink()
Const Url$ = "https://www.yumm.ca/en/recipe/salmon-green-curry-1"
Dim HTML As HTMLDocument, Http As Object

Set HTML = New HTMLDocument
Set Http = CreateObject("MSXML2.XMLHTTP")
With Http
.Open "Get", Url, False
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
.send
HTML.body.innerHTML = .responseText
End With

Debug.Print HTML.querySelector(".recipe-visual").getAttribute("style")
End Sub

当前输出:

background-image

预期输出:

https://cdn.yumm.ca/uploads/images/572b58ad0ed35a3d0294484ec535a131/salmon-green-curry@2x_s.jpg

这在JS中同样令人讨厌。要获得一个属性值,你必须直接引用style属性,所以使用下面的命令就可以了:

HTML.querySelector(".recipe-visual").Style.backgroundImage

一旦你输入HTML.querySelector(".recipe-visual").Style,代码编辑器就会弹出所有可用属性,这很方便

最新更新