Python автоматизирует скрипт wget с требуемым логином

Мне нужно автоматизировать процесс загрузки с сайта, для которого требуется следующее:

  • отправьте запрос HTTP POST, содержащий ваше имя пользователя и пароль
  • Я должен получить файл cookie (возможно, содержащий идентификатор сеанса)
  • отправьте HTTP-запрос GET для файла, отправив мои данные cookie в заголовки HTTP

Теперь, используя wget, я должен сначала войти с паролем (открыть сеанс?) :

wget --no-check-certificate -O /dev/null --save-cookies auth.rda_ucar_edu --post-data=email=name@domain.edu&passwd=5555&action=login https://rda.ucar.edu/cgi-bin/login 

то я получаю файлы, которые мне нужны:

 wget --no-check-certificate -N --load-cookies auth.rda_ucar_edu http://rda.ucar.edu/data/ds608.0/3HRLY/1979/NARRflx_197901_0916.tar 

Есть ли хороший способ сделать это в Python? Я пробовал много способов и не получил этого, чтобы работать. Кажется, что следующий код python регистрирует меня правильно. Тем не менее, я считаю, что мне нужно сохранить сессию вживую, пока я загружаю свои данные?

 url = 'https://rda.ucar.edu/cgi-bin/login' values = {'email': 'name@domain.edu', 'password': '5555', 'action': 'login'} data = urllib.urlencode(values) binary_data = data.encode('ascii') req = urllib2.Request(url, binary_data) response = urllib2.urlopen(req) print response.read() 

Попробовали также:

 from requests import session with session() as c: c.post(url, values) request = c.get('http://rda.ucar.edu/data/ds608.0/3HRLY/1979/NARRflx_197901_0108.tar') 

Любые предложения будут полезны.

 
Interesting Posts for Van-Lav

Преобразование пользовательского интерфейса pyQt в python

Heroku Нет такого типа веб-типа процесса в procfile

Смешивание двух аудиофайлов вместе с python

Как получить случайное число между диапазоном с плавающей запятой?

Время анимации Python

Ошибка Wsgiref: AttributeError: объект «NoneType» не имеет атрибута «split»

сельдерей пытается остановить работника, повысив SystemExit в сигнале task_postrun, но всегда зависает, и основной процесс никогда не выходит

Модели Django – SELECT DISTINCT (foo) Из таблицы слишком медленно

Понимание алгоритма изменения

как открыть хром в режиме инкогнито от Python

Возможно ли иметь несколько окон PyPlot? Или я ограничена подзаговорами?

В Python, учитывая URL-адрес текстового файла, какой самый простой способ прочитать содержимое текстового файла?

Значение по умолчанию scipy.sparse

python могу ли я изменить имя пользователя и пароль для os.listdir?

python 3: TypeError: конфликт метакласса: метакласс производного класса должен быть (нестрогим) подклассом метаклассов всех его оснований

Python - лучший язык программирования в мире.