如何解决无法从网页中抓取页面源中可用的图像链接
我正在尝试使用 xmlhttp 请求从 webpage 获取食谱图像链接。图像链接在某些样式属性中的页面源中可用。
但是,当我像下面这样尝试时,我得到 background-image
作为输出,而 style 的值包含图像链接。
到目前为止我已经尝试过:
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
,代码编辑器实际上会为您提供所有可用属性的弹出窗口,这很方便
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。