简单的继承问题

时间:2017-06-26 11:15:47

标签: python inheritance scrapy

我有继承问题。可能初学者错了。我做了两个Scrapy蜘蛛:

from scrapy.spiders import SitemapSpider

class SchemaorgSpider(SitemapSpider):
    name = 'schemaorg'

    def parse(self, response):
        print "parse"
        ...

from schemaorg import SchemaorgSpider
class SchemaorgSpider_two(SchemaorgSpider):
    name = 'schemaorg_two'
    sitemap_urls = [
        urltoparse    
    ]

    sitemap_rules= [('/stuff/','parse_fromrule')]    

    def parse_fromrule(self, response):
        print "parsefromrule"
        self.parse(response)

我基本上定义了mparse中的所有逻辑,然后在所有子类中使用它。当我运行我的第二只蜘蛛时,我只能看到" parsefromrule"而不是"解析"。这对我来说就像"继承101"但它不起作用。 它有什么问题? 编辑:测试没有scrapy工作:

class a(object):
    def aa(self):
        print "hello"

class b(a):
    def bb(self):
        self.aa()
class c(b):
    def cc(self):
        self.aa()

hello = c()
hello.cc()
hello.bb()
hello.aa()

我看到所有3"你好"。我很困惑为什么它不能与Scrapy合作。

Edit2:如果我把self.blabla(响应)而不是self.parse(响应)我得到一个错误。这意味着它正在寻找现有的方法。

0 个答案:

没有答案