Scrapy XPath在Shell生效但代码无结果问题(URL错误已解决)
Scrapy Spider无返回结果?罪魁祸首是写错的起始URL
太懂这种抓耳挠腮的感觉了!明明已经拿到目标网站的爬取授权,在Scrapy Shell里测试代码能完美输出预期结果,可一放到Spider里跑就啥都没有——排查了JS动态加载、选择器正确性这些常见坑都没用,最后居然栽在起始URL的小细节上!
问题根源
你原来的Spider里写的起始URL是 https://www.app4health.it/,但实际需要爬取的目标站点是 https://shop.app4health.it/。这两个域名虽然同属一个品牌,但页面结构和内容完全不匹配,Spider盯着错误的域名爬,自然拿不到你想要的数据。
修正后的代码片段
只需要把start_urls里的地址替换成正确的店铺域名就行:
import scrapy class MySpider(scrapy.Spider): name = 'MySpider' start_urls = [ # 修正后的正确URL,问题解决! 'https://shop.app4health.it/', ] def parse(self, response): # 你的解析逻辑 pass
为什么Shell里能正常运行?
因为你在Scrapy Shell中测试时,肯定是用了正确的shop.app4health.it域名,只是在编写Spider代码时不小心复制了错误的主站URL——这种细节错误真的很容易被忽略,尤其是两个域名相似度极高的时候!
内容的提问来源于stack exchange,提问作者Mattia Surricchio
相关产品推荐
相关产品推荐

