Сеансы Python-запроса определяют, когда страница автоматически обновляется? - PullRequest
0 голосов
/ 27 декабря 2018

Недавно я экспериментировал с использованием модуля запросов в Python для веб-скрапинга и у меня возник вопрос, когда сайт автоматически обновляется.Например, если я отправил запрос на веб-сайт и мне пришлось ждать в очереди, потому что на веб-сайте слишком много людей пытались получить к нему доступ одновременно, как бы сеанс запросов в конечном итоге обрабатывал сайт, перенаправленный на сайт?

Смогу ли я сделать что-то вроде:

import requests, time
s = requests.Session()
r = s.get('www.example.com')
passed = 0
while passed == 0:
    if 'passed' in r.text:
        print('passed queue!')
        passed = 1
    else: 
        print('still in queue')
        time.sleep(60)

Или мне придется сделать еще один запрос GET, чтобы определить, прошел я очередь или нет, и сделать что-то вроде:

import requests, time
s = requests.Session()
r = s.get('http://www.example.com')
passed = 0
while passed == 0:
    if 'passed' in r.text:
        print('passed queue!')
        passed = 1
    else: 
        print('still in queue')
        time.sleep(60)
        r = s.get('http://www.example.com')

1 Ответ

0 голосов
/ 27 декабря 2018

Запросы не интерпретируют ответ, кроме обработки заголовка Location для перенаправлений.Если страница использует тег <meta> или JavaScript для выполнения обновления, вам придется с этим справиться.

Если вы хотите вести себя как настоящий браузер за счет скорости и более высокого использования ресурсов, используйтебезголовый браузер, такой как Selenium.

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