File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry
for subkeyname in enum_types(hkcr):
File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9
Scrapy 啟動時初始化 mimetypes 模塊,嘗試讀取 Windows 註冊表 HKCR\MIME\Database\Content Type 獲取 MIME 類型映射。註冊表中存在包含中文字符的鍵值(如 应用程序),Python 2.7 的 mimetypes.py 默認用 ASCII 解碼,導致崩潰。
pip install pywin32==224 或下載 pywin32-224.win32-py2.7.exe 安裝。pywin32 提供 Unicode 版註冊表 API,修正 mimetypes 讀取路徑。Twisted、zope.interface、lxml、pyOpenSSL 對應 whl 包。> python -c "import mimetypes; mimetypes.init(); print('OK')"
OK # 無異常即修復成功
pywin32 為強依賴。