неполный ответ: python3 urllib.request.urlopen () против браузера или скручивания - PullRequest
0 голосов
/ 24 ноября 2018

Я не получаю все html из запроса.Что я пробовал: ПОЛУЧИТЬ HTML-страницу с помощью pythons urllib:

import urllib.request

, потому что я думал, что причина неполного / другого ответа может быть вызвана отсутствием заголовков, я добавил 'Пользователь-Agent 'и' Content-Type '.

headers = {
 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
 'Content-Type': 'text/html'
}

data = None

А вот фактический GET-запрос

url = 'https://example.com/stuff/'

req = urllib.request.Request(url, data, headers)

response = urllib.request.urlopen(req).read()

print(response)

Проблема в том, что ответ не содержит тот же HTML,по сравнению с реальной страницей, при проверке через browser-devtools.Особенно мне не хватает таких картинок, как:

Вы можете сказать: «это потому, что страница отображается с помощью JavaScript».Но почему простая команда curl -x "https://example.com/stuff/" из терминала получает все html, которые я вижу в dev-tools? Кстати, простое нажатие на этот URL с помощью Postman также получает весь html.

...