在我的类执行时,定义要调用的类参数

时间:2017-02-05 21:52:35

标签: python python-3.x

我希望在调用下面的类时定义一个要调用的类参数。

我通过scrapy runspider script.py

运行课程

我的班级看起来像:

class BrickSetSpider(scrapy.Spider):
    def __init__(self, site_search_url):
        self.site_search_url = site_search_url

    base = 'http://www.website.com/search?q=site:'
    start_urls = [base + self.site_search_url]

    def parse(self, response):
        #parse attributes here.

具体来说,我希望在执行site_url时设置BrickSetSpider()类级别参数。

更新我像scrapy runspider script.py -a site_search_url=domain.com一样运行它,但它失败了:

start_urls = [base + self.site_search_url]
NameError: name 'self' is not defined

为什么不设置值?

1 个答案:

答案 0 :(得分:0)

这可以通过定义@Id函数并覆盖____来完成。

这里是最终代码的样子:

@Entity Friendship{
    @Id Long id;
    @Parent User<Key> userA;
}
Key<User> userA;
Key<User> userB;
Friendship friendshipA;
Friendship friendshipB;

CreateFriendship(){
    friendshipA.setId(userB.getId());
    friendshipA.setUserA(userA);

    friendshipB.setId(userA.getId());
    friendshipB.setUserA(userB);
}

然后您可以这样称呼它:

__init__