You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scrapy爬虫爬取0页求助:导出CSV文件为空

问题分析与解决办法

核心问题

从终端日志可定位关键问题:

  • 你请求的http://jessops.com/drones/被两次301重定向,最终跳转到网站首页https://www.jessops.com/,而非目标无人机列表页
  • 爬虫在首页HTML中查找div.details-pricing元素,自然无法匹配到内容,导致无数据导出

错误点修正

1. 修正allowed_domains配置

allowed_domains仅需填写主域名,不能包含路径,原代码中的['jessops.com/drones']是错误的,应改为:

allowed_domains = ['jessops.com']

2. 修正起始URL为HTTPS且带www

网站会将非www的HTTP请求重定向到www的HTTPS地址,直接使用最终目标URL可避免重定向:

start_urls = ['https://www.jessops.com/drones/']

3. 验证选择器有效性(可选)

虽然你提到scrapy shell中选择器可用,但建议修正URL后再次确认:

scrapy shell https://www.jessops.com/drones/

执行response.css('div.details-pricing')检查是否能获取到目标元素。

修正后的完整代码

import scrapy


class DronesspiderSpider(scrapy.Spider):
    name = 'dronesspider'
    allowed_domains = ['jessops.com']
    start_urls = ['https://www.jessops.com/drones/']

    def parse(self, response):
        products = response.css('div.details-pricing')
        for product in products:
            item = {
                'name': product.css('a::text').get(),
                'price': product.css('p.price.larger::text').get()
            }
            yield item

额外提示

  • 若需禁用robots协议,除命令行参数外,可直接在settings.py中设置ROBOTSTXT_OBEY = False,更便捷
  • 遇到重定向问题时,优先确认目标URL是否为网站实际使用的最终地址,避免不必要的资源消耗

内容的提问来源于stack exchange,提问作者Graves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:20:36