python-scrapinghub,ascii / utf8?

时间:2017-03-17 14:59:42

标签: python utf-8 python-3.4 scrapinghub

Python 3.4.2

我正在使用Scrapinghub API的客户端界面,可在此处找到:

https://github.com/scrapinghub/python-scrapinghub

我抓了一个网站,想要用

获取并打印这些项目
for item in job.items():
  print(item)

在python解释器中,这可以正常工作但是当我在脚本中导出我的代码时(f.e.'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行的文字是这样的:[...]TobiasWeiß[...]

我已经运行'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)

此致

1 个答案:

答案 0 :(得分:2)

我找到了一个似乎有效的解决方案。

在shell中我必须输入:

export LC_ALL=C.UTF-8
export LANG=C.UTF-8

我也遵循了这里的内容:https://blog.scrapinghub.com/2016/08/17/introducing-scrapy-cloud-with-python-3-support/

  

使用Python 3支持介绍Scrapy Cloud

感谢所有人!