【问题标题】:Inside Splash, how to use src attribute to append to a url在 Splash 中,如何使用 src 属性附加到 url
【发布时间】:2020-08-17 19:06:06
【问题描述】:

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

在我的 Splash 脚本中,我试图在基于“img”标签的“src”属性的新 url 上使用“splash:go”。如何访问此“src”相对 url 并将其加入 start_url?

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

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

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

我希望所有这些都在 Splash 脚本中。我需要在 Splash 内部完成它,否则我会丢失我的安全/加密或其他东西——它会呈现“坏数据”而不是新网页。你有什么建议吗?

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

所以我设法使用以下代码从 src 属性中获取了我需要的 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

知道为什么吗?

【问题讨论】:

    标签: lua scrapy scrapy-splash splash-js-render


    【解决方案1】:

    image src 属性正是您需要访问的 URL,或者如问题标题所述,您需要将其附加到其他一些 URL 部分?

    如果是这样的话,你可以通过'..'来做到这一点

    例如:splash:go(base_url..var) -- 连接

    【讨论】:

      【解决方案2】:

      问题已解决:

      这里是解决方案。 GET 请求失败,因为它不知道如何在给定 webkit 设置的情况下以 html 呈现图像。如果执行 GET 请求而不渲染页面,则 response.body 有图像。

      代码:

      local response = splash:http_get(var)
          return {
          body = response.body
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-07
        • 2015-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多