Python 属性错误:';饲料出口商';对象没有属性';插槽';

Python 属性错误:';饲料出口商';对象没有属性';插槽';,python,scrapy,Python,Scrapy,我有一个简单的爬行器,当我调用scrapy crawl dataspider时,它工作正常并在输出中打印项目: import json from scrapy.spiders import Spider class dataspider(Spider): name='dataspider' start_urls=('https://www.google.com/finance/match?matchtype=matchall&ei=UVlPWNmDEYm_U7SqgvA

我有一个简单的爬行器,当我调用
scrapy crawl dataspider
时,它工作正常并在输出中打印项目:

import json
from scrapy.spiders import Spider

class dataspider(Spider):
    name='dataspider'
    start_urls=('https://www.google.com/finance/match?matchtype=matchall&ei=UVlPWNmDEYm_U7SqgvAH&q=AAPL',)
    def parse(self, response):
        j=json.loads( response.body.decode('utf-8') )
        yield j['matches'][1]
产出:

{'t':'AAPL','n':'Apple Inc.','e':'NASDAQ','id':'22144'}

但是,当我尝试使用
scrapy crawl dataspider-o out.json将该项保存到文件中时,我会收到以下错误:

AttributeError:“FeedExporter”对象没有属性“slot”

回溯是:

2017-01-30 01:10:57 [scrapy.utils.signal] ERROR: Error caught on signal handler: <bound method FeedExporter.close_spider of <scrapy.extensions.feedexport.FeedExporter object at 0x7f31e2d8ab00>>
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/python3.6/site-packages/pydispatch/robustapply.py", line 55, in robustApply
    return receiver(*arguments, **named)
  File "/usr/lib/python3.6/site-packages/scrapy/extensions/feedexport.py", line 198, in close_spider
    slot = self.slot
AttributeError: 'FeedExporter' object has no attribute 'slot'

知道问题是什么吗?

我尝试过使用管理员权限运行命令,问题得到了解决。

我尝试过使用管理员权限运行命令,问题得到了解决。

您的问题的答案似乎是,在运行爬虫程序之前,您应该尝试关闭.json文件。@EduardIlyasov显然,它是由
super()引起的。
super()方法中,
super()。
不应该有一个自参数,只要我删除它,它就会再次工作。不知道它是如何工作的。@Chiefedabs的建议对我起到了作用。似乎你的问题的答案是,在运行爬虫程序之前,你应该尝试关闭.json文件。@EduardIlyasov显然这是由
super()引起的。
super()方法中,*args,**kwargs)
super()方法中
不应该有自相矛盾,我一删除它,它就又起作用了。“我不知道它是如何工作的。”克利维耶达斯的建议对我起了作用。你遇到的问题与问题中的问题相同吗?他们的解决方案似乎有点不同……你遇到的问题与问题中的问题相同吗?看来他们的决心有点不同。。。
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/python3.6/site-packages/pydispatch/robustapply.py", line 55, in robustApply
    return receiver(*arguments, **named)
  File "/usr/lib/python3.6/site-packages/scrapy/extensions/feedexport.py", line 187, in open_spider
    uri = self.urifmt % self._get_uri_params(spider)
  File "/usr/lib/python3.6/site-packages/scrapy/extensions/feedexport.py", line 262, in _get_uri_params
    params[k] = getattr(spider, k)
  File "/usr/lib/python3.6/site-packages/scrapy/spiders/__init__.py", line 36, in logger
    logger = logging.getLogger(self.name)
  File "/usr/lib/python3.6/logging/__init__.py", line 1813, in getLogger
    return Logger.manager.getLogger(name)
  File "/usr/lib/python3.6/logging/__init__.py", line 1167, in getLogger
    raise TypeError('A logger name must be a string')
TypeError: A logger name must be a string