Задать вопрос
coderisimo
@coderisimo

Почему меня «раскрыли», scrapy выдает крякозябры и как получить HTML самой страницы (вопрос не простой)?

Делаю запрос к fucking... , то есть к booking (https://www.booking.com). В ответ приходят странные крякозябры. Типа вот такого

[sV7eV>Td{TZ'7UO_/ ϟU9/PDK4kE
i6lLu̒CspPLݢٺ


полный текст (для тех, кто не боится столкнуться с невообразимым) вот здесь - https://drive.google.com/open?id=1xeGxThHw919zk3l1...
ответы все время разные, внутри встречаются странные конструкции типа
<html></html>
И так далее.
проблемы две.
1) я не могу привести это к нормальному виду. Либо букинг меня тролит и раскусил, но зачем тогда слать вот такие куски , а не просто вывалить ошибку сервера ?

2) Точно такой же запрос с postman отвечает нормальным редиректом 302, и если открыть ссылку в его заголовке, то сайт открывается без проблем.

Важно : Дело не в
jS (postman не выполняет js , но в нем все работает и сайт грузится).
не в заголовках (в postman специально их не задаю и не притворяюсь браузером)
и не в IP - postman и scrapy шлют запросы с одного IP , но с разным успехом.

Что же это такое происходит?
Спасибо
  • Вопрос задан
  • 249 просмотров
Подписаться 2 Средний 2 комментария
Решения вопроса 1
coderisimo
@coderisimo Автор вопроса
Ответ подсказали на stackoverflow.
Суть : в скопированных мною БЕЗДУМНО заголовках было
'Accept-Encoding': 'gzip, deflate, br'

после чего я ,конечно, получал сжатый контент. Отсюда и непонятные крякозябры. Как только убрал этот заголовок- все заработало нормально.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Headballz
Записать с помощью codecs.open(file_name, 'w',"utf-8") пробовали?
Ответ написан
@timokins
Дело, может быть, как раз в заголовках,
которые scrapy использует по-умолчанию,
например, user-agent: scrapybot (совсем непалевно).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект