Эта статья посвящена загрузке данных из 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)

Вот оно! Получайте удовольствие от программирования!