Scrapy shell运行带&参数的URL报错该如何解决?
问题解决方法
报错根因
这个报错不是Scrapy框架导致的,是Windows PowerShell的语法限制:PowerShell会将URL中的&符号识别为系统保留的操作符,因此直接传入带&的URL会触发语法解析错误。
解决方案
1. Scrapy Shell 调用修复
直接把完整URL用双引号包裹即可,执行命令改为:
scrapy shell "https://www.yellowpages.com/search?search_terms=software+engineer&geo_location_terms=Glendale%2C+CA"
2. 爬虫代码说明
你当前编写的Scrapy爬虫代码没有问题,start_urls中的URL已经作为字符串被单引号包裹,直接运行爬虫不会触发上述报错,只有在PowerShell终端直接执行带&的命令时才需要做特殊处理。
补充说明
如果你使用Windows默认的CMD终端而非PowerShell,不需要给URL加引号也可以正常执行命令。
内容的提问来源于stack exchange,提问作者Shovo Murad
相关产品推荐
相关产品推荐

