我希望在调用下面的类时定义一个要调用的类参数。
我通过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
为什么不设置值?
答案 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__