Я пытался загрузить набор файлов с веб-сайта НАСА https://search.earthdata.nasa.gov/search. Мне удалось войти в систему и запросить файл, но я получил ошибку.
Succesfully logged in
.
.
.
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 401: Unauthorized
Я пробовал запросы, wget, urllib2
import requests
import os
import urllib2
destination = r'C:\PROJECTS\ShallowGW\MODIS\\'
os.chdir(destination)
session_req = requests.session()
home_url = 'https://urs.earthdata.nasa.gov/home'
response0 = session_req.get(home_url)
login_url = 'https://urs.earthdata.nasa.gov/login'
login_data = {'authenticity_token': '????',
'username': '*******',
'password': '*******'}
response1 = session_req.post(login_url, data=login_data,
headers=dict(referer=login_url))
try:
response1.raise_for_status()
print("Succesfully logged in")
except Exception as e:
print('Login failed')
response3 = session_req.get('https://search.earthdata.nasa.gov/search')
filepath = r'C:\PROJECTS\ShallowGW\MODIS\MODIS_LST_Links_2016.txt'
with open(filepath) as f_obj:
for line in f_obj:
urllib2.urlopen(line)
print(line)
Я не понимаю, почему он говорит, что я вошел в систему, затем выдает 401 HTTP ERROR. Текстовый файл имеет ссылки (например, https://e4ftl01.cr.usgs.gov//MODV6_Dal_E/MOLT/MOD11A1.006/2016.06.30/MOD11A1.A2016182.h12v04.006.2016241041516.hdf) для загрузки файла. Я могу вручную загрузить их с той же строкой, если я вошел в систему, но он не работает с Python. Предполагается, что он проходит через цикл и скачать каждый файл.
Пожалуйста, помогите!