请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

老师您好,我的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


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

正在回答 回答被采纳积分+3

1回答

bobby 2017-07-27 09:34:02

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

0 回复 有任何疑惑可以回复我~
  • 提问者 天真男 #1
    可是我的数据都已经爬取下来了,也存入数据库了呀。好奇怪,我有6个spider,每个spider的每条数据都会报这个错,可数据都能爬取下来。
    回复 有任何疑惑可以回复我~ 2017-07-27 10:27:08
  • 提问者 天真男 #2
    搞了一天,有点眉目了。
    感觉是哪个Item输出的时候,没有遵循scrapy的feedexport相关的规则,我在settings里面禁用了feedexporter,就不显示了,哈
    反正没影响使用,先这样,具体是哪个item,还真不好找。
    
    EXTENSIONS = {'scrapy.extensions.feedexport.FeedExporter': None}
    回复 有任何疑惑可以回复我~ 2017-07-27 18:44:25
  • bobby 回复 提问者 天真男 #3
    好的, 可以先这样 如果能自己写好的就用自己的就行了
    回复 有任何疑惑可以回复我~ 2017-07-28 09:31:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信