所以我试图通过Scrapyd让几百个spider在EC2实例上运行。我有很多这样的网址:
https://items.initrode.com/TGWebHost/searchitems.aspx?partnerid=25233&siteid=5296
但当我把蜘蛛从卷曲处弄出来。。。在
^{pr2}$…然后检查我的spider上的start_URL列表,我传入的URL似乎缺少&siteid值,如下所示:
https://items.initrode.com/TGWebHost/searchitems.aspx?partnerid=2523
经过数小时的研究,我发现curl在'&;'字符处停止处理,并认为您试图将此进程推到后台,我观察到确实如此,最终结果是我遗漏了查询字符串的一部分。在
我已经设法解决了这个问题,用%26代替了我所有URL中的&;但是为什么当URL一开始就用引号括起来时curl会这样解释呢?我以为这些引文是为了防止类似的问题发生?在
我查看了文档,并且
curl
在-d
选项的情况下确实将&
解释为分隔符,因此您不能在那里使用它,需要正确地执行它。{cd4>在python中可以得到如下结果:然后运行curl,如下所示:
^{pr2}$所以问题不在我最初建议的shell引用中,而且严格地说它不是}需要解释为分隔符。在
curl
解释参数的方式,而是在服务器端解释查询字符串的方式,其中{相关问题 更多 >
编程相关推荐