Получение 502 Bad Gateway, а затем перенаправлены на другой сайт. Scrapy - PullRequest
0 голосов
/ 16 ноября 2018

скрапа мега нуб тут.

Когда я пытаюсь очистить веб-сайт, например:

scrapy shell https://shop.coles.com.au/a/a-vic-metro-oakleigh/product/gasmate-cartridge-butane

, я получаю следующие сообщения:

...
[scrapy.core.engine] INFO: Spider opened
[scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET https://shop.coles.com.au/a/a-vic-metro-oakleigh/product/gasmate-cartridge-butane> (failed 1 times): 502 Bad Gateway
[scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET https://shop.coles.com.au/a/a-vic-metro-oakleigh/product/gasmate-cartridge-butane> (failed 2 times): 502 Bad Gateway
[scrapy.core.engine] DEBUG: Crawled (200) <GET https://shop.coles.com.au/a/a-vic-metro-oakleigh/product/gasmate-cartridge-butane> (referer: None)
...

Затем, когда я пытаюсь увидеть, чтоresponse.body имеет:

In [1]: print(response.body)
b'<html><body><script>var $j=\'c\';$3=\'c\';$q=\'c\';$G=\'f\';$s=\'c\';$F=\'c\';$X=\'c\';$t=\'c\';$H=\'c\';$e=\'=\';$D=\'c\';$g=\'c\';$8=\'c\';$A=\'c\';$6=\'c\';$O=\'=\';$P=\'c\';$U=\'5\';$4=\'6\';$y=\'c\';$v=\'c\';$u=\'c\';$b=\'c\';$V=\'b\';$r=\'5\';$2=\'6\';$Q=\'f\';$R=\'c\';$5=\'c\';$9=\'c\';$c=\'c\';$S=\'c\';$l=\'c\';$k=\'c\';$m=\'_\';$M=\'5\';$N=\'c\';$C=\'c\';$d=\'c\';$J=\'b\';$E=\'5\';$1=\'6\';$i=\'f\';document.cookie=(!4?$j:"")+(!""?$3:"")+(!4?$q:"")+(!4?$G:"")+(!({})?$s:"")+(!NaN?$F:"")+(!NaN?$X:"")+(![]?$t:"")+(!0?$H:"")+(![]?$e:"")+(!4?$D:"")+(!""?$g:"")+(!""?$8:"")+(![]?$A:"")+(!NaN?$6:"")+(!NaN?$O:"")+(![]?$P:"")+(!0?$U:"")+(!({})?$4:"")+(!4?$y:"")+(!""?$v:"")+(!0?$u:"")+(!0?$b:"")+(!""?$V:"")+(!0?$r:"")+(!0?$2:"")+(!""?$Q:"")+(!0?$R:"")+(!NaN?$5:"")+(!""?$9:"")+(!NaN?$c:"")+(!""?$S:"")+(!""?$l:"")+(!NaN?$k:"")+(!0?$m:"")+(!0?$M:"")+(!""?$N:"")+(!NaN?$C:"")+(!NaN?$d:"")+(!NaN?$J:"")+(!""?$E:"")+(!""?$1:"")+(!0?$i:"")+\'; path=/\';window.location.href=window.location.href;</script></body></html'

Это не HTML-код веб-сайта, я могу проверить в браузере, что HTML-код https://shop.coles.com.au/a/a-vic-metro-oakleigh/product/gasmate-cartridge-butane совершенно другой, поэтому я знаю, что меня куда-то перенаправляют.

Вопрос как и почему это происходит?и самое главное, как этого избежать?

Дополнительная информация: Я использую прокси-сервис, который будет использовать случайные прокси каждый раз, когда я использую оболочку Scrapy из пула более 20 000,Стоит также отметить, что я довольно долго просматривал эту веб-страницу, прежде чем эта проблема началась.

1 Ответ

0 голосов
/ 16 ноября 2018

Если вы посмотрите на код Javascript, он устанавливает cookie и перенаправляет на себя.

Кажется, что веб-сайт ожидает, что у вас есть определенный файл cookie для доступа к "обычным" страницам, но поскольку scrapy не может выполнить javascript, он на этом останавливается.

Возможно, вы захотите как-то проанализировать код Javascript, вручную установить cookie и повторно запросить тот же URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...