scrapyd部署的时候报了一个奇怪的错

来源:16-1 scrapyd部署scrapy项目

天真男

2017-07-26

老师您好,我的scrapy-redis爬虫用scrapyd部署的时候出现了一个奇怪的错误,您能否帮我看看?

这个错误在pycharm中是不会出现的,更为奇怪的是,虽然Log中打印了这个错误,可是数据依然完好的爬取了下来,并写入了mysql数据库,

错误信息如下:

2017-07-26 16:52:57 [scrapy.utils.signal] ERROR: Error caught on signal handler: <bound method FeedExporter.item_scraped of <scrapy.extensions.feedexport.FeedExporter object at 0x7f4eb1c38908>>
Traceback (most recent call last):
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
   result = f(*args, **kw)
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/pydispatch/robustapply.py", line 55, in robustApply
   return receiver(*arguments, **named)
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/scrapy/extensions/feedexport.py", line 224, in item_scraped
   slot.exporter.export_item(item)
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/scrapy/exporters.py", line 92, in export_item
   itemdict = dict(self._get_serialized_fields(item))
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/scrapy/exporters.py", line 66, in _get_serialized_fields
   field_iter = six.iterkeys(item)
 File "/home/song/.virtualenvs/scrapy_py3/lib/python3.5/site-packages/six.py", line 575, in iterkeys
   return iter(d.keys(**kw))
AttributeError: 'NoneType' object has no attribute 'keys'


每爬取一条数据,都会报一下这个错,但数据确爬下来了,我google了一下,找到了一个类似的文章,但似乎不太好借鉴。

https://stackoverflow.com/questions/40918822/python3-six-attributeerror-custom-object-has-no-attribute-items


麻烦老师帮我看看,多谢。

写回答

1回答

bobby

2017-07-27

这个问题你可以试试 在yield之前把每个item都打印出来 看看出错的时候是哪个item出错了, 应该和某条数据有关

0
3
bobby
回复
天真男
好的, 可以先这样 如果能自己写好的就用自己的就行了
2017-07-28
共3条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程