简体   繁体   English

python exceptions.UnicodeDecodeError:'ascii'编解码器无法解码字节0xa7

[英]python exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xa7 in

I am using scrapy with python and I have this code in a python item pipline 我正在使用scthon与python,我在python项目pipline中有这个代码

def process_item(self, item, spider):
        import pdb; pdb.set_trace()
        ID = str(uuid.uuid5(uuid.NAMESPACE_DNS, item['link']))

I got this error : 我收到了这个错误:

        Traceback (most recent call last):
          File "C:\Python27\lib\site-packages\scrapy-0.20.2-py2.7.egg\scrapy\mid
dleware.py", line 62, in _process_chain
            return process_chain(self.methods[methodname], obj, *args)
          File "C:\Python27\lib\site-packages\scrapy-0.20.2-py2.7.egg\scrapy\uti
ls\defer.py", line 65, in process_chain
            d.callback(input)
          File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 3
82, in callback
            self._startRunCallbacks(result)
          File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 4
90, in _startRunCallbacks
            self._runCallbacks()
        --- <exception caught here> ---
          File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 5
77, in _runCallbacks
            current.result = callback(current.result, *args, **kw)
          File "General_Spider_code_version_2\pipelines.py", line 7, in process_
item
            ID = str(uuid.uuid5(uuid.NAMESPACE_DNS, item['link']))
          File "C:\Python27\lib\uuid.py", line 549, in uuid5
            hash = sha1(namespace.bytes + name).digest()
        exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xa7 in p
osition 1: ordinal not in range(128)

I tried to debug the item['link'] 我试图调试item['link']

and this is the result 这就是结果

-> ID = str(uuid.uuid5(uuid.NAMESPACE_DNS, item['link']))
(Pdb) item['link']
u'http://dubai.dubizzle.com/property-for-rent/residential/apartmentflat/2014/4/6
/palm-jumeirah-abu-keibal-3-br-maid-partial-2/?back=ZHViYWkuZHViaXp6bGUuY29tL3By
b3BlcnR5LWZvci1yZW50L3Jlc2lkZW50aWFsL2FwYXJ0bWVudGZsYXQv&pos=1'
(Pdb)

as you see the item['link'] is unicode 如你所见, item['link']是unicode

Edit1 EDIT1

when I change the item['link'] to any other attribute like item['date'] the code works perfectly 当我将item['link']更改为任何其他属性(如item['date'] ,代码完美无缺

使用.encode('utf-8')将unicode字符串编码为字节字符串,它应该工作:

str(uuid.uuid5(uuid.NAMESPACE_DNS, item['link'].encode('utf-8')))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 exceptions.UnicodeDecodeError-&#39;ascii&#39;编解码器无法解码字节 - exceptions.UnicodeDecodeError - 'ascii' codec can't decode byte UnicodeDecodeError:“ascii”编解码器无法解码 position 0 中的字节 0xa7:不在序数范围内 (128) - UnicodeDecodeError: 'ascii' codec can't decode byte 0xa7 in position 0: not in ordinal range (128) UnicodeDecodeError:&#39;ascii&#39;编解码器无法解码字节0xa3 - UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 UnicodeDecodeError:“ ascii”编解码器无法解码字节 - UnicodeDecodeError: 'ascii' codec can't decode byte UnicodeDecodeError:“ ascii”编解码器无法在Python中解码字节 - UnicodeDecodeError: 'ascii' codec can't decode byte in Python UnicodeDecodeError:“ ascii”编解码器无法解码字节-Python - UnicodeDecodeError: 'ascii' codec can't decode byte - Python Python和Pandas:UnicodeDecodeError:“ ascii”编解码器无法解码字节 - Python and Pandas: UnicodeDecodeError: 'ascii' codec can't decode byte UnicodeDecodeError:&#39;ascii&#39;编解码器无法解码字节... Python 2.7和 - UnicodeDecodeError: 'ascii' codec can't decode byte … Python 2.7 and Python 2.7 UnicodeDecodeError:&#39;ascii&#39;编解码器无法解码字节 - Python 2.7 UnicodeDecodeError: 'ascii' codec can't decode byte Python(nltk)-UnicodeDecodeError:“ ascii”编解码器无法解码字节 - Python (nltk) - UnicodeDecodeError: 'ascii' codec can't decode byte
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM