无法从网页抓取页面源中可用的图像 link
Can't scrape an image link which is available in page source from a webpage
我正在尝试使用 xmlhttp 请求从 webpage 获取食谱图片 link。图像 link 在某些样式属性的页面源中可用。
但是,当我像下面这样尝试时,我得到 background-image
作为输出,而 style 的值包含图像 link.
到目前为止我已经尝试过:
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 中同样令人讨厌。要获取属性值,您必须直接引用样式 属性,因此使用以下方法即可:
HTML.querySelector(".recipe-visual").Style.backgroundImage
代码编辑器实际上会在您键入 HTML.querySelector(".recipe-visual").Style
后弹出所有可用属性,这很方便
我正在尝试使用 xmlhttp 请求从 webpage 获取食谱图片 link。图像 link 在某些样式属性的页面源中可用。
但是,当我像下面这样尝试时,我得到 background-image
作为输出,而 style 的值包含图像 link.
到目前为止我已经尝试过:
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 中同样令人讨厌。要获取属性值,您必须直接引用样式 属性,因此使用以下方法即可:
HTML.querySelector(".recipe-visual").Style.backgroundImage
代码编辑器实际上会在您键入 HTML.querySelector(".recipe-visual").Style
后弹出所有可用属性,这很方便