[英]LookupError: unknown encoding: idna error with Selenium and Python
我試圖在Python中使用selenium
進行入門性的Web抓取,但是在啟動基本的Chrome實例時,我一直遇到這個神秘的錯誤:
LookupError: unknown encoding: idna
使用以下代碼時:
from selenium import webdriver
url = 'http://www.webscrapingfordatascience.com/complexjavascript/'
driver = webdriver.Chrome()
driver.get(url)
我通過brew cask install chromedriver
安裝了Chrome必需的webdriver。
我嘗試在網上搜索潛在的解決方案,但是似乎沒有其他人問過有關使用Python運行硒的問題,而且此錯誤也相當模糊。
這里的問題是執行import encodings.idna
的答案,這給了我Python中找不到的Module的新錯誤。
另外,我的系統在Mac OS 10.11中為mbp,Python為3.7.2(Clang 8.0.0),pip =19.0.3
。
echo $PATH
提供了以下輸出:
/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
此錯誤消息...
LookupError: unknown encoding: idna
...暗示idna
和utf-8
之間存在編碼 / 解碼錯誤。
此錯誤來自models.py的 _get_idna_encoded_host(host)
方法,其定義如下:
@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
就體系結構和操作系統而言,您的一些系統詳細信息將有助於我們以更好的方式調試問題。 然而:
解決方案是添加以下導入:
import encodings.idna
注意 :確保pip
在PATH上並且為9.0.1或更高。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.