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

如何使用Selenium实现parser翻页采集Rozetka全站商品数据

翻页采集调整方案

以下是调整后可实现全分页采集的完整代码:

import time 
import pandas as pd
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from datetime import datetime


webdriver = r"C:\Users\К.Бояр (Второй)\source\repos\RozetaParcer\chromedriver.exe"

driver = Chrome(webdriver)
driver.implicitly_wait(10)
driver.get("https://rozetka.com.ua/search/?producer=gazer&seller=rozetka&text=Gazer")

total = []
cur_date = datetime.now().strftime("%d_%m_%Y")

while True:
    # 采集当前页商品数据
    items = driver.find_elements(By.CSS_SELECTOR, ".goods-tile.ng-star-inserted")
    for item in items:
        t_name = item.find_element(By.CSS_SELECTOR, '.goods-tile__title').text
        t_price = item.find_element(By.CSS_SELECTOR, '.goods-tile__price-value').text
        t_nal = item.find_element(By.CSS_SELECTOR, '.goods-tile__availability').text    
        row = cur_date, t_name, t_price, t_nal
        total.append(row)
    
    # 处理分页逻辑
    try:
        next_btn = driver.find_element(By.CSS_SELECTOR, 'a.paginator__next')
        # 下一页按钮禁用则说明到最后一页,终止循环
        if 'paginator__next--disabled' in next_btn.get_attribute('class'):
            break
        next_btn.click()
        # 等待页面加载完成,可根据网络情况调整时长
        time.sleep(2)
    except NoSuchElementException:
        # 找不到分页按钮说明只有1页,直接退出
        break

driver.close()
    
df = pd.DataFrame(total, columns=['Date','Name', 'Price', 'Nal'])
# 新增编码参数避免打开文件时乱码
df.to_csv(f'Rozetka_parcer_{cur_date}.csv', encoding='utf-8-sig')

核心调整说明

  • 新增while循环包裹单页采集逻辑,实现多页重复采集
  • 替换了Selenium已废弃的find_elements_by_css_selector写法,同时新增异常捕获避免找不到分页按钮时报错崩溃
  • 新增下一页按钮状态判断逻辑,到达最后一页时自动终止采集
  • 点击下一页后增加等待逻辑,避免页面未加载完成就抓取数据导致的空值问题
  • 导出CSV时新增编码参数,兼容西里尔字符显示,避免打开文件乱码

内容的提问来源于stack exchange,提问作者Константин Николаевич Бояр II

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:27:04