2017-03-01 2 views
3

Wie soll ich diesen Fehler beheben?Klasse InstagramSpider (scrapy.Spider): AttributeError: 'Modul' Objekt hat kein Attribut 'Spider'

[email protected]:~/computer_vision/instagram/instagram$ scrapy crawl instagramspider 
2017-03-01 17:24:03-0600 [scrapy] INFO: Scrapy 0.14.4 started (bot: instagram) 
2017-03-01 17:24:04-0600 [scrapy] DEBUG: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, MemoryUsage, SpiderState 
Traceback (most recent call last): 
    File "/usr/bin/scrapy", line 4, in <module> 
    execute() 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 132, in execute 
    _run_print_help(parser, _run_command, cmd, args, opts) 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 97, in _run_print_help 
    func(*a, **kw) 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 139, in _run_command 
    cmd.run(args, opts) 
    File "/usr/lib/python2.7/dist-packages/scrapy/commands/crawl.py", line 43, in run 
    spider = self.crawler.spiders.create(spname, **opts.spargs) 
    File "/usr/lib/python2.7/dist-packages/scrapy/command.py", line 34, in crawler 
    self._crawler.configure() 
    File "/usr/lib/python2.7/dist-packages/scrapy/crawler.py", line 36, in configure 
    self.spiders = spman_cls.from_crawler(self) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 37, in from_crawler 
    return cls.from_settings(crawler.settings) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 33, in from_settings 
    return cls(settings.getlist('SPIDER_MODULES')) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 23, in __init__ 
    for module in walk_modules(name): 
    File "/usr/lib/python2.7/dist-packages/scrapy/utils/misc.py", line 65, in walk_modules 
    submod = __import__(fullpath, {}, {}, ['']) 
    File "/home/mona/computer_vision/instagram/instagram/instagram/spiders/spider.py", line 7, in <module> 
    class InstagramSpider(scrapy.Spider): 
AttributeError: 'module' object has no attribute 'Spider' 

Weitere Informationen finden Sie hier: From scraper_user.items import UserItem ImportError: No module named scraper_user.items

Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import scrapy 
>>> print scrapy.__file__ 
/usr/lib/python2.7/dist-packages/scrapy/__init__.pyc 
>>> print(dir(scrapy)) 
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'boto', 'optional_features', 'os', 'sys', 'twisted_250_monkeypatches', 'urlparse_monkeypatches', 'version_info', 'warnings', 'xlib'] 
>>> print(scrapy.spider) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'spider' 
+0

Ich schlage vor, Sie Instagram API anstelle von scrapy verwenden. Sie haben keine Schmerzen beim Parsen und Crawlen in Seiten, indem Sie API –

Antwort

3

Nach der Ausgabe, die Sie verwenden eine sehr-sehr alt Scrapy 0.14.4, die nicht die Spider auf den scrapy Namespace aussetzen hat.

Update Entweder:

pip install scrapy --upgrade 

Oder, ändern Sie Ihren Import (nicht sicher, ob dies so funktioniert ist):

from scrapy.spider import BaseSpider as Spider 
+1

verwenden, um zu bestätigen, dass von scrapy.spider BaseSpider als Spider importiert wurde, aber nicht die Aktualisierung. http://pastebin.com/6YB0TZRs Danke! –

+2

@MonaJalal Ja, Sie können aus irgendeinem Grund die neueste Scrapy-Version nicht installieren. Es meldet, dass es installiert ist, aber der "scrapy" -Befehl ist immer noch an "0.14.4" gebunden. Froh, dass der Workaround funktionierte, obwohl ich daran arbeiten würde, das Upgrade möglich zu machen - 0.14.4 ist wirklich, wirklich alt - eine Menge Dinge veränderten sich von dieser Zeit an. – alecxe

+0

Können Sie sich bitte diese Frage ansehen? http://stackoverflow.com/questions/42545020/how-to-get-the-followers-of-a-person-as-well-as-comments-under-the-photos-in-ins –

1

Sie könnten scrapy durch Paketmanager zu aktualisieren haben, wie es scheint Sie verwenden ein Linux-basiertes Betriebssystem.

Else versuchen beide mit pip2 und PIP3 aktualisieren, falls Sie Python 2 und 3

Verwandte Themen