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

Scrapy中如何在终端获取item_scraped_count指标?

解决Scrapy爬虫未显示item_scraped_count的问题

你的爬虫没有生成item_scraped_count指标,核心原因是CSS选择器匹配失败,没有抓取到任何书籍数据,导致Scrapy无法统计已爬取的Item数量。以下是具体问题和修正方案:

问题分析

  1. 书籍容器选择器错误:原代码中response.css('article.product_prod')的class名拼写错误,目标网站的书籍容器class是product_pod而非product_prod,这导致你无法遍历到任何书籍元素。
  2. 价格选择器错误:原代码中.product_price .product_color::text的class名错误,价格对应的class是price_color而非product_color,这会导致价格字段抓取结果为None。

修正后的代码

import scrapy


class BookspiderSpider(scrapy.Spider):
    name = "bookspider"
    allowed_domains = ["books.toscrape.com"]
    start_urls = ["https://books.toscrape.com/"]

    def parse(self, response):
        # 修正书籍容器选择器
        books = response.css('article.product_pod')

        for book in books:
            yield{
                'title' : book.css("h3 a::text").get(),
                # 修正价格选择器
                'price' : book.css(".product_price .price_color::text").get(),
                'url' : book.css("h3 a").attrib['href']
            }

        next_page = response.css("li.next a::attr(href)").get()

        if next_page is not None:
            if 'catalogue/' in next_page:
                next_page_url = 'https://books.toscrape.com/' + next_page
            else:
                next_page_url = 'https://books.toscrape.com/catalogue/' + next_page
            yield response.follow(next_page_url, callback=self.parse)

验证结果

修正后重新运行爬虫,终端统计结果中会出现item_scraped_count指标(目标网站共1000本书,最终该指标值应为1000),同时你能看到每本书的抓取数据输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:35:58