В приведенном ниже фрагменте кода видно, что я пытаюсь собрать некоторые данные с веб-сайта NCAA Men's Basketball для мужчин.
import requests
url = "https://www.ncaa.com/scoreboard/basketball-men/d1/"
response = requests.get(url)
html = response.text
print(html)
print(response.headers)
print("\n\n")
print(response.request.headers)
На сайте есть список игр и их результаты.Я выяснил, как получить все необходимые данные, используя Python Requests для HTTP-запроса, а затем BeautifulSoup для извлечения данных из HTML. Полный скребок здесь, если вы хотите взглянуть.
Проблема: Когда Requests получает ответ от веб-сайта NCAA, данные оченьстарше (иногда до 30 или 40 минут, по крайней мере), чем данные на реальном веб-сайте.
Я гуглял это часами.После прочтения документов Python Requests я полагаю, что обнаружил, что веб-сервер NCAA отправляет устаревшие данные.Но я не понимаю, почему она отправляет мои программы устаревшие данные, когда отправляет в Google Chrome (или любой другой веб-браузер) правильные данные.
Причина, по которой я считаю, что сервер отправляет устаревшие данные, заключается в том, что при печатизаголовки ответа, один из элементов: «Последнее изменение»: «Сб, 26 января 2019 17:49:13 GMT» , а другой - «Дата»: «Сб, 26 января 201918:20:29 GMT ', похоже, сервер получает запрос в нужное время, но предоставляет данные, которые не были изменены в течение некоторого времени.
Мой вопрос: Знаешь ли ты причину, по которой это может произойти?Есть ли что-то, что мне нужно добавить в мой HTTP-запрос, чтобы сервер отправлял мне данные в соответствии с тем, что отправляет веб-браузеры?
PS Мне очень жаль за длинный вопрос.Я старался быть кратким, но все же объяснять все ясно.