Эта статья посвящена загрузке данных из SSL-ссылки в фрейм данных с использованием Python.
Во многих случаях нам нужно загрузить некоторые данные (csv, excel, xml, json и т. д.) по ссылке, защищенной сертификатом SSL. Если вы попытаетесь получить данные без «Python HTTPS Verify», вы получите сообщение об ошибке:
urllib.error.URLError: ‹Ошибка urlopen [SSL: CERTIFICATE_VERIFY_FAILED] Ошибка проверки сертификата (_ssl.c:833)›
Чтобы решить эту проблему, вам нужно всего лишь импортировать две библиотеки Python и несколько строк кода:
import os, ssl if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)): ssl._create_default_https_context = ssl._create_unverified_context url = 'HTTPS URL goes here...'
Это все, что вам нужно….
Теперь давайте соберем этот код вместе. Вы можете использовать приведенный ниже код в качестве полного примера:
import os, ssl import pandas as pd if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)): ssl._create_default_https_context = ssl._create_unverified_context def pullData(url): try: print('Reading ' + url + ' data.......') data = pd.read_csv(url) data.to_csv("data.csv") except: print("An error happened. Check " + url) else: print("Data from the link is ready to use.") if __name__ == '__main__': url = 'https://github.com/Azure-Samples/batch-adf-pipeline-tutorial/blob/master/iris.csv' # Call the function here. pullData(url)
Если вам нужно работать с форматом JSON, вы можете использовать приведенный ниже код, чтобы извлечь данные формата JSON из URL-адреса и локально записать их в файл формата JSON:
url_json = 'https://some-link-url-here/file-name.json' df = requests.get(url_json) df = df.json() with open('data.json', 'w') as json_file: json.dump(df, json_file)
Вот оно! Получайте удовольствие от программирования!