Сервер отправляет страницу только с <iframe>
, в котором есть сообщение о блокировке по соображениям безопасности.
Первая проблема в заголовке User Agent
. Обычно Python использует python-requests/2.21.0
, но серверу может потребоваться User Agent
, используемый в реальном браузере. Например Firefox в Linux
br = robobrowser.RoboBrowser(user_agent='Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0')
Но он все равно может отправить страницу с <iframe>
, в которой есть сообщение.
Но если я снова загружу тот же URL-адрес, он загрузит правильную страницу.
Возможно, теперь у него есть все необходимые файлы cookie, и теперь сервер не создает проблем.
Если вы хотите, вы также можете загрузить страницу из <iframe>
, чтобы вести себя как настоящий человек.
import robobrowser
br = robobrowser.RoboBrowser(user_agent='Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0')
br.parser = 'lxml'
br.open("https://www.just-eat.fr")
#print(br.parsed)
print(br.get_forms())
#iframe_src = br.select('iframe')[0]['src']
#print(iframe_src)
#br.open("https://www.just-eat.fr"+iframe_src)
#print(br.parsed)
br.open("https://www.just-eat.fr")
#print(br.parsed)
print(br.get_forms())