So come passare argomenti quando si esegue uno spider scrapy dalla riga di comando. Tuttavia, sto avendo problemi durante il tentativo di eseguirlo in modo programmatico da uno script che usa cmdline.execute() di scrapy.Scrapy: passare argomenti a cmdline.execute()
Gli argomenti che ho bisogno di passare sono le liste che ho precedentemente formattati come stringhe, proprio come questo:
numbers = "one,two,three,four,five"
colors = "red,blue,black,yellow,pink"
cmdline.execute('scrapy crawl myspider -a arg1='+numbers+' -a arg2='+colors)
e il ragno è ...
class MySpider(Spider):
name = "myS"
def __init__(self, arg1, arg2):
super(MySpider, self).__init__()
#Rest of the code
Tuttavia, quando l'eseguo Ho ricevuto questo errore:
Traceback (most recent call last):
File "C:/Users/ME/projects/script.py", line 207, in run
cmdline.execute("scrapy crawl myS -a arg1="+numbers+" -a data="+colors)
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 123, in execute
cmdname = _pop_command_name(argv)
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 57, in _pop_command_name
del argv[i]
TypeError: 'str' object doesn't support item deletion
Qualche idea?
SO: Windows7; Versione Python: 2.7.8
Ha funzionato! Grazie per la risposta rapida. – pylund