由于某些原因,当我使用Scrapy从元素中获取文本值时,它会正确显示,但是当我将它放入数组中时,它的编码不正确。在
测试如下:我使用了Château
这个词。在一个test的情况下,scrapy获取单词,然后将其打印并添加到数组中。在第二个例子test2中,我将从另一个测试打印的单词复制粘贴到数组中。在
下面是我的python脚本:
value=node.xpath('//AddrDisplayMemberSerialization/text()').extract_first()
print value;
array={'test':value,'test2':'Château'}
print array
数组会自动对值进行编码。python是自动执行还是Scrapy自动执行?在
为什么它们的编码方式不同?在
这个问题的发生是因为Python2和Python3之间的差异。如果你在Python3中这样做,它会立刻工作
现在让我们回到Python2
^{pr2}$这是因为当您打印数组时,它在python中转换为字符串表示而不是unicode
打印时要做的是做unicode转义
等等,这会弄乱印刷品吗?这是因为打印这些字符需要编码。简而言之,拉丁语
只要升级到python3,您的问题就会得到解决。但您需要将print语句更改为
print(...)
。或者用我展示的代码来训练编码这就是它在终端上的显示方式。在
但是如果你想让它在utf-8中显示,只需在
settings.py
中这样做相关问题 更多 >
编程相关推荐