gpt4 book ai didi

python - 如何在其他方法中使用 "_init_ "的参数?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:37 26 4
gpt4 key购买 nike

我想在我的 _init_ 方法中使用一个参数 'term'。如您所见,当 _init 方法获取此参数时,我想将其用作我的数据库集合的名称并将数据插入其中。但是我不知道如何在整个类中使用 _init 中的 term 的值。那么有人对我有什么好的建议来处理这个问题吗?

class EPGDspider(scrapy.Spider):
name = "EPGD"
allowed_domains = ["epgd.biosino.org"]

db = DB_Con()
collection = db.getcollection(term)

def __init__(self, term=None, *args, **kwargs):
super(EPGDspider, self).__init__(*args, **kwargs)
self.start_urls = ['http://epgd.biosino.org/EPGD/search/textsearch.jsp?textquery=%s&submit=Feeling+Lucky' % term]

def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//tr[@class="odd"]|//tr[@class="even"]')
url_list = []
base_url = "http://epgd.biosino.org/EPGD"

for site in sites:
item = EPGD()
item['description'] = map(unicode.strip, site.xpath('td[6]/text()').extract())
self.collection.update({"genID": item['genID']}, dict(item), upsert=True)
yield item

最佳答案

让它成为 instance variable :

def __init__(self, term=None, *args, **kwargs):
super(EPGDspider, self).__init__(*args, **kwargs)

self.term = term
# ...

然后,在其他方法中使用self.term引用它:

def parse(self, response):
print(self.term)
# ...

关于python - 如何在其他方法中使用 "_init_ "的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36758719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com