2015-10-19 35 views
0

PS C:\用戶\史蒂夫\教程> scrapy抓取DMOZScrapy DMOZ教程:_init_()將在(給予3)最多2個參數

Traceback (most recent call last): 

File "c:\python27\scripts\scrapy-script.py", line 9, in <module> 
    load_entry_point('scrapy==1.0.3', 'console_scripts', 'scrapy')() 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\cmdline.py", 
    cmd.crawler_process = CrawlerProcess(settings) 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\crawler.py", 
    super(CrawlerProcess, self).__init__(settings) 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\crawler.py", 
    self.spider_loader = _get_spider_loader(settings) 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\crawler.py", 
    return loader_cls.from_settings(settings.frozencopy()) 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\spiderloader. 
    return cls(settings) 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\spiderloader. 
    for module in walk_modules(name): 
File "C:\Python27\lib\site-packages\scrapy-1.0.3-py2.7.egg\scrapy\utils\misc.py 
    submod = import_module(fullpath) 
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module 
    __import__(name) 
File "C:\users\steve\tutorial\tutorial\spiders\dmoz.py", line 4, in <module> 
    class dmozspider(spiders): 
TypeError: Error when calling the metaclass bases module.__init__() takes at most 2 arguments (3 given) 

我DMOZ蜘蛛python腳本是在這裏

from scrapy import spiders 


class dmozspider(spiders): 
    name = "dmoz" 
    allowed_domains = ["dmoz.org"] 
    start_urls = [ 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" 
    ] 

    def parse(self, response): 
     filename = response.url.split("/")[-2] + '.html' 
     with open(filename, 'wb') as f: 
      f.write(response.body) 
+0

歡迎來到Stack Overflow Steve!將來,請嘗試使用四(4)個空格格式化代碼以創建代碼黑色(它非常有助於讀取/格式化)。另外,您是否可以驗證代碼是否已更正,並且顯示的新縮進是否準確? – Rejected

回答

0

問題是你正在導入「蜘蛛」,並將它用作你的基類。 「蜘蛛」是包含蜘蛛的包,即Spider類。要使用它,請使用:

from scrapy.spiders import Spider 


class dmozspider(Spider): 
    ... # Rest of your code 
+0

感謝您的幫助。我沒有大寫蜘蛛。有效! –

相關問題