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

如何在Scrapy Python 3.6.4中实现价格与卖家信息分组?

针对Scrapy实现价格与卖家信息分组的最佳方案

嘿,作为Scrapy新手能上手爬取购物页面已经超棒啦!针对你想实现价格与卖家信息一一分组的需求,我来给你梳理最实用的实现思路和代码示例~

核心思路:按卖家区块遍历提取

Google Shopping的卖家和价格信息是成对出现在同一个区块里的,所以我们不需要单独提取所有卖家再匹配所有价格,直接定位每个卖家的独立容器,在容器内提取对应信息,天然就完成了分组。

修改后的完整代码

import scrapy
import re

class ProductSpider(scrapy.Spider):
    name = 'product'
    start_urls = ['https://www.google.nl/shopping/product/13481271230046931540?client=opera&biw=1880&bih=1008&output=search&q=738678181690&oq=738678181690&prds=hsec:online,paur:ClkAsKraX-dNyyNw1dQNKCoMJnN5PTCcIkKQRK_FTu38WNkh-ASATIAsHY2pgV1a1wnYh_rnqfve8FuuCsHc8boLnMjv9EO2Q4wJS_AvrOL1pcn-GYMYHecz7BIZA...']

    def parse(self, response):
        # 定位每个卖家的条目容器(如果页面结构更新,需要用Scrapy Shell调试调整选择器)
        seller_containers = response.css('div.sh-dlr__list-result')
        
        for container in seller_containers:
            # 提取卖家名称,用default处理缺失情况
            seller_name = container.css('div.sh-dlr__seller-name span::text').get(default='未知卖家').strip()
            
            # 提取原始价格文本,再清洗出纯数字
            raw_price = container.css('span.sh-dlr__price::text').get(default='0').strip()
            # 正则匹配数字(兼容整数和小数价格)
            clean_price = re.search(r'\d+\.?\d*', raw_price).group() if raw_price else '0'
            
            # 把分组好的信息yield出去,后续可以导出为JSON/CSV等格式
            yield {
                '卖家名称': seller_name,
                '清洗后价格': clean_price,
                '原始价格文本': raw_price  # 可选保留,方便核对
            }

关键注意事项

  • 调试选择器:Google Shopping的页面结构可能会变动,你可以用Scrapy Shell快速调试:
    scrapy shell "你的目标URL"
    
    然后在Shell里用response.css("你的选择器").get()测试是否能正确提取内容,还可以用view(response)打开页面查看真实元素结构。
  • 反爬处理:Google有反爬机制,建议在settings.py里配置真实的浏览器User-Agent:
    USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
    
  • 数据导出:爬取完成后,可以用命令导出分组好的数据:
    scrapy crawl product -o seller_prices.json
    
    导出的JSON文件里每一条就是一组卖家+价格的对应信息,非常方便后续处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:37:47