简单继承问题

2024-06-01 02:16:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有继承权的问题。可能是初学者的错误。我做了两个粘糊糊的蜘蛛:

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中定义所有逻辑,然后在所有子类中使用它。当我运行第二个spider时,我只看到“parsefromrule”,而没有看到“parse”。这看起来像“继承101”,但它不工作。 怎么了? 编辑:测试没有刮擦,工作:

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。你知道吗

如果我把自慰(回应)代替自我分析(回答)我出错了。这意味着它正在寻找一个现有的方法。你知道吗


Tags: namefromimportselfhelloparseresponsedef