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

使用Python和Selenium实现亚马逊搜索结果按价格升序显示的问题

解决亚马逊搜索结果产品与价格关联并按价格升序排序的问题

核心思路

把每个产品的名称和对应价格封装成键值对结构(字典),再将所有字典存入统一列表,最后基于价格字段排序,即可实现关联后的有序输出。

具体实现步骤

  1. 构建关联字典列表
    遍历你已获取的所有产品原始列表,从每个列表中提取产品名称和转换后的价格,存入字典后添加到统一列表中。
    (根据你提供的列表结构,产品名称是索引为2的元素,价格是索引为4的元素去除$后转成的整数)

  2. 按价格升序排序
    使用Python内置的sorted()函数,通过key参数指定按字典中的price字段排序,默认即为升序。

  3. 输出关联结果
    遍历排序后的列表,逐个输出产品名称和对应价格。

代码示例

# 假设all_products_raw是你已获取的所有产品原始列表集合
all_products_raw = [
    ['+2 colours/patterns', 'Sponsored', '2022 Apple iPhone SE (128 GB) - Starlight (3rd Generation)', '3', '$799', '00', 'FREE Delivery by Amazon', 'Temporarily out of stock.'],
    ['Sponsored', 'Samsung Galaxy A54 5G', '4', '$599', '99', 'FREE Delivery'],
    # 更多产品原始列表...
]

# 转换为带关联信息的字典列表
products_with_price = []
for raw_item in all_products_raw:
    # 提取产品名称(做边界判断避免索引越界)
    product_name = raw_item[2] if len(raw_item) > 2 else '未知产品'
    # 提取并转换价格(按你的现有逻辑)
    price_str = raw_item[4].lstrip('$') if len(raw_item) > 4 else '0'
    price = int(price_str)
    # 若需要合并分的部分(比如$599和99转为59999),可替换为:
    # price = int(price_str + raw_item[5]) if len(raw_item) >5 else int(price_str)
    
    products_with_price.append({'name': product_name, 'price': price})

# 按价格升序排序
sorted_products = sorted(products_with_price, key=lambda x: x['price'])

# 输出排序后的关联结果
for item in sorted_products:
    print(f"产品: {item['name']} | 价格: ${item['price']}")

额外提示

如果部分产品的原始列表结构不一致(比如无Sponsored标签导致索引偏移),可以通过特征匹配提取信息:

  • 遍历列表找包含$的元素作为价格源
  • 筛选长度较长、包含品牌/型号关键词的元素作为产品名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:39:22