【发布时间】:2017-03-17 14:59:41
【问题描述】:
Python 3.4.2
我正在使用 Scrapinghub API 的客户端接口,可以在这里找到:
https://github.com/scrapinghub/python-scrapinghub
我爬取了一个网站,想要获取并打印这些项目
for item in job.items():
print(item)
在 python 解释器中,这可以正常工作,但是当我在脚本中导出我的代码(例如,'test.py' 并使用'python3 test.py' 运行它时,会出现错误,它说:
Traceback (most recent call last):
File "test.py", line 24, in <module>
print(insert_statement)
UnicodeEncodeError: 'ascii' codec can't encode character '\xdf' in position 247: ordinal not in range(128)
第 24 行的文本是这样的:[ ... ] Tobias Weiß [...]
我已经运行了“dpkg-reconfigure locales”并将其设置为“de_DE.UTF-8 UTF-8”,但这似乎不是问题。
对于每个结果,我是否必须将项目 dict 转换为 utf8,或者是否有其他我看不到的解决方案。
from scrapinghub import Connection
conn = Connection('1234567890')
project = conn[123456]
jobs = project.jobs(state='finished')
for job in jobs:
if "consumed" not in job.info['tags']:
for item in job.items():
print(item)
问候
【问题讨论】:
-
尝试在文件开头添加:
# -*- coding: utf-8 -*- -
哪个版本的python?
-
问题在于 Python 认为您的控制台界面仅为 ASCII。不确定如何解决这个问题。
-
在 python 解释器中,代码运行良好,但我将其导出到脚本文件 'test.py' 并使用 'python3 test.py' 运行 - 出现错误。
标签: python utf-8 python-3.4 scrapinghub