我正在像这样将参数传递给Python3中的os.system:
os.system("scrapy crawl %s -a arg='%s'" % ("googlebook",scrapy_url))
scrapy网址包含特殊字符:
'?q=19434&maxResults=40&startIndex=200'
仅在蜘蛛中收到:
?q=19434
如何将特殊词传递给蜘蛛?
答案 0 :(得分:1)
'London'
模块知道如何转义要传递给shell的字符串。
但是,shell在这里没有做任何有用的事情,因此最好避免使用它。
shlex
当然,鉴于from subprocess import run
run(["scrapy", "crawl", "googlebook", "-a", "arg=" + scrapy_url],
# This will raise an exception if scrapy fails
# which is _probably_ a good idea in most scenarios
check=True)
是一个Python库,也许最好的解决方案是简单地scrapy
并从那里获取它。