如何正确地将参数传递给scrapinghub上的scrapy spider?
我试图通过以下方式将参数传递给我的spider(理想情况下是数据帧或csv): 我尝试使用*args和**kwargs参数类型,但每次只得到最后一个结果。例如:如何正确地将参数传递给scrapinghub上的scrapy spider?,scrapy,scrapy-spider,scrapinghub,Scrapy,Scrapy Spider,Scrapinghub,我试图通过以下方式将参数传递给我的spider(理想情况下是数据帧或csv): 我尝试使用*args和**kwargs参数类型,但每次只得到最后一个结果。例如: data = ["1", "2", "3"] job = spider.jobs.run(data=data) 当我试图从蜘蛛网内部打印它们时,我只得到元素3: def __init__(self, **kwargs): for key in kwargs: print kwargs[key] 2018
data = ["1", "2", "3"]
job = spider.jobs.run(data=data)
当我试图从蜘蛛网内部打印它们时,我只得到元素3:
def __init__(self, **kwargs):
for key in kwargs:
print kwargs[key]
2018-05-17 08:39:28 INFO [stdout] 3
我认为有一些简单的解释,我似乎无法理解
提前谢谢 对于传递参数和标记,您可以这样做
priority = randint(0, 4)
job = spider.jobs.run(
units=1,
job_settings=setting,
add_tag=['auto','test', 'somethingelse'],
job_args={'arg1': arg1,'arg2': arg2,'arg3': arg3},
priority=priority
)
感谢anwswer,但我仍然有同样的问题,我只能访问列表的最后一个元素。也许蜘蛛只能接受字符串参数?我用了job_args的论点。有没有办法将列表发送给爬行器?或者我需要将我的csv序列化为字符串吗?我没有解开你的问题,如果你在scrapinghub上搜索如何将参数传递给scrapy spider,我给了你一个适合我的示例,如果不是你的问题,meMy的问题是:如何正确地传递参数,以便打印整个列表而不是最后一个元素,我对您的方法有相同的结果,但我找到了另一个解决方案。谢谢你的回复!我的方法很好地回答了您的问题:)如果您找到了其他解决方案,请在其他人有相同问题时发布您的方法:)
priority = randint(0, 4)
job = spider.jobs.run(
units=1,
job_settings=setting,
add_tag=['auto','test', 'somethingelse'],
job_args={'arg1': arg1,'arg2': arg2,'arg3': arg3},
priority=priority
)