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

如何从Excel提取UPC条码列表并在动态网站批量搜索获取SKU

可行技术方案:基于Selenium + Pandas的批量UPC搜索与Excel交互

核心技术栈选择

用你熟悉的Selenium处理网页交互,搭配Pandas完成Excel读写——Pandas是Python生态中处理表格数据最便捷的工具,语法简单,能快速实现UPC列表读取和结果写入。

分步实现方案

1. 读取Excel中的UPC条码列表

假设源Excel文件名为upc_list.xlsx,UPC数据在列名为UPC的列中,用Pandas读取并转换为字符串列表(避免数字格式丢失前导零):

import pandas as pd

# 读取源Excel文件
df = pd.read_excel("upc_list.xlsx")
# 提取UPC列表并转为字符串类型
upc_list = df["UPC"].astype(str).tolist()

2. Selenium批量搜索并提取SKU

封装搜索函数,循环遍历每个UPC,加入异常处理避免单个UPC失败中断整个程序:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import random

def get_sku_by_upc(upc, driver):
    try:
        driver.get("https://www.truevalue.com/")
        # 随机等待1-3秒,模拟真实用户操作
        time.sleep(random.uniform(1, 3))
        
        # 定位搜索框(需根据网页实际元素调整,示例用ID选择器)
        search_box = driver.find_element(By.ID, "search-input")
        search_box.clear()
        search_box.send_keys(upc)
        search_box.send_keys(Keys.ENTER)
        time.sleep(random.uniform(2, 4))
        
        # 提取SKU(示例用类选择器,需根据搜索结果页面调整)
        sku_element = driver.find_element(By.CLASS_NAME, "product-sku")
        # 清理文本,保留纯SKU编号
        sku = sku_element.text.split(":")[-1].strip()
        return sku
    except Exception as e:
        print(f"UPC {upc} 处理失败: {str(e)}")
        return "Not Found"

# 初始化Chrome驱动
options = webdriver.ChromeOptions()
# 可选:启用无头模式,不显示浏览器窗口
# options.add_argument("--headless=new")
driver = webdriver.Chrome(options=options)
driver.maximize_window()

# 批量处理UPC
results = []
for upc in upc_list:
    sku = get_sku_by_upc(upc, driver)
    results.append({"UPC": upc, "SKU": sku})
    print(f"UPC {upc} → SKU: {sku}")

driver.quit()

3. 将结果写入新Excel文件

用Pandas把结果列表转换成DataFrame,再写入目标文件:

# 转换为DataFrame格式
result_df = pd.DataFrame(results)
# 写入Excel,不保留索引列
result_df.to_excel("upc_sku_mapping.xlsx", index=False)
print("结果已成功保存到upc_sku_mapping.xlsx")

关键注意事项

  • 元素选择器调整:代码中的搜索框、SKU元素选择器是示例,需打开目标网站,用浏览器开发者工具(F12)定位实际元素的ID、类名或XPath。
  • 反爬优化:网站可能有反爬限制,除了随机等待,还可添加自定义User-Agent、禁用图片加载等配置。
  • 数据校验:确保UPC为字符串类型,避免Excel自动转换带前导零的UPC为数字,导致搜索失败。
  • 异常细化:可根据具体错误类型(如元素未找到、页面超时)添加针对性处理逻辑,比如重试机制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:22:34