0
我正在研究scrapy框架。無法訪問子實例中的父實例varibale
我有一些共同的屬性,我想要所有的蜘蛛,所以我做了一個BaseSpider。
BaseSpider
import scrapy
from src.LoggerFactory import get_logger
import ConfigParser
from redis import Redis
class BaseSpider(scrapy.Spider):
logger = get_logger()
def __init__(self, *args, **kwargs):
super(scrapy.Spider, self).__init__(*args, **kwargs)
config = ConfigParser.RawConfigParser()
config.read('../../config.cfg')
self.config = config
self.redis = Redis(host=config.get('redis', 'host'), port=config.get('redis', 'port'))
def parse(self, response):
pass
而且我EbaySpider如下
EbaySpider
import scrapy
import json
from scrapper.items import Product
from BaseSpider import BaseSpider
class EbaySpider(BaseSpider):
name = "ebay"
allowed_domains = ["ebay.com"]
def __init__(self, *args, **kwargs):
super(BaseSpider, self).__init__(*args, **kwargs)
print self.redis # Throws AttributeError: 'EbaySpider' object has no attribute 'redis'
exit()
奇怪的是我仍然可以訪問scrapy.Spider
properts我EbaySpider
雖然它不是從012繼承。
此外,如果有任何scrapy的方式來擴展蜘蛛,請建議,因爲我無法在他們的文件中找到它。
感謝
哦,我的壞了!新的蟒蛇大聲笑..謝謝兄弟 –