【问题标题】:python-scrapinghub, ascii / utf8?python-scrapinghub,ascii / utf8?
【发布时间】: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)

问候

【问题讨论】:

标签: python utf-8 python-3.4 scrapinghub


【解决方案1】:

我找到了一个似乎可行的解决方案。

在 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

谢谢大家!

【讨论】:

    猜你喜欢
    • 2017-03-30
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 2023-03-31
    相关资源
    最近更新 更多