如何使用 src 属性将 URL 添加到 Splash 中

------------ 原问题------------------

在我的 Splash 脚本中,我想要在基于“img”标记的“src”属性上使用“splash:go”处理一个新的 URL。 我该如何访问此“src”相对 URL 并将其链接到 start_url?

例如,假设 img 元素具有以下内容:

请等待

这里我试图提取 src 属性并将其添加到 start_url:

https://i2a.uslandrecords.com/ME/Cumberland/D/

我需要所有这些都在 Splash 脚本中完成。我需要在 Splash 内部完成,否则我会失去我的安全性/加密或其他——“Bad Data”即成为新网页的渲染结果。您有任何建议吗?

------------ 更新------------------

因此,我使用以下代码获取了我需要的 URL:

var = splash:evaljs("document.getElementById('ImageViewer1_docImage').src;")
splash:go(var)

但是,问题在于这会产生一个错误消息。 我在快照中找到的是一个带有以下消息的白色页面:

无法加载页面 (帧加载由策略更改中断)

https://i2a.uslandrecords.com/ME/Cumberland/D/ACSResource.axd?SCTTYPE=ENCRYPTED&SCTKEY=gMYed5OWqcSvEWOJA6wGVmb642s2oZHqkYmT6VTpORTzMY7CgvDU5jsjJG/xp0X3eQ9BiDnbaTdAmISeLkC3hyjxGjcSnXOKgGDa8cI2fniY0ILT+NqvQToMGIB+/X3ZIs7Q+D4ppTSZGYZ2L4M/

Webkit 错误 #102

有什么想法吗?

点赞
用户9628804
用户9628804

图片的src属性是你需要访问的URL,或者根据问题标题所述,你需要将其附加到其他URL部分中?

如果是这样,你可以使用 '..' 进行操作。

比如:splash:go(base_url..var) -- 这是一个拼接操作。

2020-08-18 15:41:31
用户14084235
用户14084235

问题已解决:

这里是解决方案。GET请求无法正确渲染html中的图片,原因是它不知道如何根据webkit设置来渲染。如果你在不渲染页面的情况下执行GET请求,那么响应体中就有图片。

代码:

local response = splash:http_get(var)
    return {
    body = response.body
    }
2020-08-25 12:38:38