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

Scrapy Shell响应正常但代码无输出,单页爬虫导出CSV为空问题求助

问题根因

Scrapy 对 start_urls 列表中的初始请求,默认会调用名为 parse 的方法处理返回的响应。你修改后的单页爬虫仅定义了 parse_book 解析方法,没有实现默认的 parse 方法,因此请求成功后没有执行数据提取逻辑,最终输出为空。

修复方案

二选一即可:

方案1:修改解析方法名

直接把 parse_book 方法重命名为 parse,匹配 Scrapy 默认回调规则,修改后代码如下:

import scrapy
 
class BookSpider(scrapy.Spider):
    name = 'book'
    start_urls = ['https://book24.ru/product/transhumanism-inc-6015821/']
    
    def parse(self, response):
        yield{
            'name': response.css('h1.product-detail-page__title::text').get(),
            'type': response.css('div.product-characteristic__value a::attr(title)')[2].get()
        }

方案2:显式指定初始请求回调

重写 start_requests 方法,手动指定初始请求的处理函数为 parse_book:

import scrapy
 
class BookSpider(scrapy.Spider):
    name = 'book'
    
    def start_requests(self):
        yield scrapy.Request(
            url='https://book24.ru/product/transhumanism-inc-6015821/',
            callback=self.parse_book
        )

    def parse_book(self, response):
        yield{
            'name': response.css('h1.product-detail-page__title::text').get(),
            'type': response.css('div.product-characteristic__value a::attr(title)')[2].get()
        }

修改后重新执行 scrapy crawl book -O book.csv 即可正常输出数据。

内容的提问来源于stack exchange,提问作者Полина Ужвак

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:27:03