在方法中的__init__中访问命令参数search_url的值

时间:2017-02-07 00:04:12

标签: python python-3.x scrapy

我正在运行像scrapy runspider script.py -a search_url=www.website.com

这样的脚本

更新

class BrickSetSpider(scrapy.Spider):
    base = 'http://www.website.com'
    def __init__(self, search_url):
        self.search_url = search_url
        self.start_urls = [self.base + search_url]

    def parse(self,response):
       print("self.search_url is {}".format(self.search_url))

print()方法中的parse()语句在语法上是否合理打印出self.start_urls()的值?

1 个答案:

答案 0 :(得分:0)

self.search_url类对象中没有BrickSetSpider字段。也许这个字段是在基类“__init__方法中设置的,但你不要调用基类的__init__(你可以在你定义的__init__内做到这一点。 因此,您初始化的唯一字段是self.start_urls。你可以改为打印:

print("self.start_urls is {}".format(self.start_urls))

或者,如果您想设置search_url字段,还可以在__init__添加以下行:

self.search_url = search_url