Объект 'set' не имеет атрибута 'setdefault'. Ошибка при очистке данных с использованием запросов - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь зайти на сайт с помощью Python Requests, но он выдает ошибку.

import requests 
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}
URL = ""
PROXY = {'https://surfproxy.de.db.com:8080' }
response = requests.get(URL , proxies = PROXY, headers: headers)

Журналы ошибок:

Файл "", строка 1, в runfile ('C: /Users/vermanjb/JiraScrapping.py', wdir = 'C: / Users / vermanjb')

Файл "C: \ Program" Файлы \ Anaconda3 \ Lib \ сайт-пакеты \ spyderlib \ Виджеты \ externalshell \ sitecustomize.py», строка 699, в runfile execfile (имя файла, пространство имен)

Файл "C: \ Program" Файлы \ Anaconda3 \ Lib \ сайт-пакеты \ spyderlib \ Виджеты \ externalshell \ sitecustomize.py», строка 88, в execfile exec (compile (open (filename, 'rb'). read (), filename, 'exec'), пространство имен)

Файл "C: /Users/vermanjb/JiraScrapping.py", строка 12, в response = запросы.get (URL, прокси = PROXY)

Файл "C: \ Program Files \ Anaconda3 \ lib \ site-packages \ запросы \ api.py", строка 67, в get запрос на возврат ('get', url, params = params, ** kwargs)

Файл "C: \ Program Files \ Anaconda3 \ lib \ site-packages \ запросы \ api.py", строка 53, по запросу return session.request (method = method, url = url, ** kwargs)

Файл "C: \ Program" Файлы \ Anaconda3 \ lib \ site-packages \ запросы \ sessions.py ", строка 459, в запрос prep.url, прокси, поток, проверить, сертификат

Файл "C: \ Program" Файлы \ Anaconda3 \ lib \ site-packages \ запросы \ sessions.py ", строка 619, в merge_environment_settings proxies.setdefault (k, v)

AttributeError: объект 'set' не имеет атрибута 'setdefault'

1 Ответ

0 голосов
/ 08 января 2019

Необходимо решить как минимум две проблемы:

  1. Параметр proxies должен быть диктом , а не набором.
  2. В параметре headers имеется синтаксическая ошибка.

Попробуйте вместо этого:

headers = {'User-Agent': 'Mozilla/5.0...'}
url = 'http://www.yoursite.com/'
proxies = {
    'http': 'http://surfproxy.de.db.com:8080',
    'https': 'http://surfproxy.de.db.com:8080'
}
response = requests.get(url , proxies=proxies, headers=headers)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...