@mararina

Как исправить ошибку [Errno 8] nodename nor servname provided при парсинге?

Мне нужно спарсить данные с сайта на Python. Мне удалось авторизоваться, но никакие данные код выводить не хочет.
Выдает ошибку:
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known


Вот мой код:
import json
import io
import codecs
import base64
import requests
from http.client import HTTPSConnection
from base64 import b64encode
import socket

session = requests.Session()

def getCookies(cookie_jar, domain):

    cookie_dict = cookie_jar.get_dict(domain=domain)
    found = ['%s=%s' % (name, value) for (name, value) in cookie_dict.items()]
    return ';'.join(found)

def basic_auth(username, password):
    token = b64encode(f"{username}:{password}".encode('utf-8')).decode("utf-8")
    return f'Basic {token}'

username = "мой логин"
password = "мой пароль"

#This sets up the https connection
url = 'ссылка'
c = HTTPSConnection(url)

#then connect

header_log = {'Authorization' : basic_auth(username, password)}#, 'allow_redirects': False, 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'

data_lo = {
    'username': 'мой логин',
    'password': 'мой пароль'
}

 

answer = c.request('GET', '/', headers=header_log)
res = c.getresponse()
data = res.read()

print('read ', res.read)
print('getheader ', res.getheader)
print('getheaders ', res.getheaders)
print('fileno ', res.fileno)
print('headers ', res.headers)
print('status ', res.status)
print('reason ', res.reason)
print('geturl ', res.geturl)
print('info ', res.info)


Подскажите, пожалуйста, как избавиться от ошибки?
  • Вопрос задан
  • 413 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы