我遇到的问题基本上是参数问题。 我有一个令人毛骨悚然的项目,有五个蜘蛛。 蜘蛛必须在由用户输入的坐标界定的地理区域内提取信息。
这时,区域多边形在pipelines.py中定义,并被所有蜘蛛使用。 问题是,我应该如何将坐标作为参数从图形界面(tkinter)传递给pipelines.py?
`class My_Pipeline(object):
gmaps_key = googlemaps.Client(key='some_key')
count = 0
insidePolygon = 0
polygon = [(-30.8377119, -64.6603737),
(-31.5156532, -64.6699867),
(-31.5507684, -64.4969520),
(-31.4898937, -64.3349037),
(-31.3503690, -64.3150073),
(-31.3052314, -64.3352658),
(-31.2659561, -64.3623695),
(-30.9873456, -64.3994484),
(-30.8412493, -64.4173012),
(-30.8117674, -64.4763527),
(-30.8117674, -64.5642433),
(-30.8377119, -64.6603737)]`
该多边形是必须由用户从图形界面输入的坐标替换的多边形。
答案 0 :(得分:0)
使用scrapy crawl myspider -a params="1,3,5,6"
从命令行传递参数
class MySpider(scrapy.Spider):
name = 'myspider'
def __init__(self,
params='can be anything',
* args, ** kwargs):
self.params = params
super(MySpider, self).__init__()
,然后在您的管道中
class My_Pipeline(object):
spider.params #read if like this