Внутренняя заставка, как использовать атрибут src для добавления к URL

#lua #scrapy #scrapy-splash #splash-js-render

#lua #scrapy #scrapy-splash #заставка-js-render

Вопрос:

————ОРИГИНАЛЬНЫЙ ВОПРОС——————

В моем скрипте Splash я пытаюсь использовать «splash: go» для нового URL-адреса, который основан на атрибуте «src» тега «img». Как я могу получить доступ к этому относительному URL-адресу «src» и присоединить его к start_url?

Например, представьте, что элемент img имеет следующее содержимое:

<img id=»ImageViewer1_docImage» onload=»BlockerResize(‘ImageViewer1_ContentBlocker1′,’ImageViewer1_WaterMarkImage’);» src=»ACSResource.axd?SCTTYPE=ENCRYPTEDamp;SCTKEY=gMYed5OWqcT9I1Y2fM85DvB48X5U1DQ5mOUiJoUH4rioyau0nJdxt0PHFfGVTMiUsork/YD Cw0F6ZzcviP4sG09xrqWM8/zJlyEeVRFkKXVnkyHYWgwNJzCSUE4Kh4yCsqw6mCuIxWxPj6BAI7Hbw==amp;CNTWIDTH=849amp;CNTHEIGHT=684amp;FITTYPE=Heightamp;ZOOM=1 » alt=»Пожалуйста, подождите» style=»ширина границы:0 пикселей; курсор: url (изображения /курсоры /hmove.cur); z-индекс: 1000″>

Здесь я пытаюсь извлечь атрибут src и добавить его в start_url:

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

Я хочу, чтобы все это было внутри скрипта заставки. Мне нужно, чтобы это было сделано внутри Splash, потому что в противном случае я потеряю свою безопасность / шифрование или что-то в этом роде — вместо новой веб-страницы отображаются «Неверные данные». У вас есть какие-либо рекомендации?

————ОБНОВИТЬ——————

Итак, мне удалось получить нужный URL-адрес из атрибута src, используя следующий код:

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

Однако проблема в том, что это выдает сообщение об ошибке. Все, что я нахожу на снимке, — это белая страница со следующим сообщением:

Ошибка загрузки страницы (загрузка фрейма прервана изменением политики)

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

Ошибка Webkit # 102

Есть идеи, почему?

Ответ №1:

Атрибут src изображения — это именно тот URL, к которому вам нужен доступ, или, как указано в заголовке вопроса, вам нужно добавить его к некоторым другим частям URL?

Если это так, вы можете сделать это с помощью ‘..’

Например.: splash:go(base_url..var) — конкатенация

Ответ №2:

ПРОБЛЕМА РЕШЕНА:

Вот решение. Запрос GET не работал, потому что он не знал, как отобразить изображение в html с учетом настроек webkit. Если вы выполняете запрос GET без рендеринга страницы, ответ.в теле есть изображение.

код:

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