LookupError: неизвестная кодировка: ошибка idna с Selenium и Python - PullRequest
0 голосов
/ 21 февраля 2019

Я пытался разобраться во вводном просмотре веб-страниц с помощью selenium в Python, но продолжаю получать эту загадочную ошибку при запуске базового экземпляра Chrome:

LookupError: unknown encoding: idna

при использовании следующего кода:

from selenium import webdriver

url = 'http://www.webscrapingfordatascience.com/complexjavascript/'

driver = webdriver.Chrome()
driver.get(url)

Я установил необходимый веб-драйвер Chrome с brew cask install chromedriver.

Я пытался искать в Интернете возможные решения, но, похоже, никто другой не спрашивал об этом в связи с запуском селена.с Python, и эта ошибка также довольно расплывчата.

Редактировать

На вопрос здесь ответ на вопрос import encodings.idna дает мне новую ошибку модуля ненаходится в Python.

Кроме того, моя система представляет собой mbp с Mac OS 10.11, Python - 3.7.2 (Clang 8.0.0), а pip - =19.0.3.

* 1023.* дает мне следующий вывод:

/Users/Michael/miniconda3/bin:/Users/Michael/intelpython3/bin:/Users/Michael/miniconda3/bin:/Users/Michael/miniconda3/bin:/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/Users/Michael/anaconda3/lib/python3.6/site-packages:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/Michael/anaconda3/bin:/Users/Michael/anaconda3/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin:/Library/TeX/texbin’:/Users/Michael/intelpython3/bin

1 Ответ

0 голосов
/ 21 февраля 2019

Это сообщение об ошибке ...

LookupError: unknown encoding: idna

... подразумевает, что было кодирование / декодирование ошибка между idna и utf-8.

Эта ошибка происходит от _get_idna_encoded_host(host) метода models.py , который определяется следующим образом:

@staticmethod
def _get_idna_encoded_host(host):
    import idna

    try:
        host = idna.encode(host, uts46=True).decode('utf-8')
    except idna.IDNAError:
        raise UnicodeError
    return host

Немного о вашей системе вУсловия архитектура и os помогли бы нам лучше отладить вашу проблему.Однако:


Решение

Решение заключается в добавлении следующего импорта:

import encodings.idna

Примечание : убедитесь, что pip для PATH и 9.0.1 или лучше.

...