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

使用Python的BeautifulSoup爬取练习网站时输出条目重复的原因

数据重复问题的原因及修复方案

问题根源

你遇到的每条数据重复的问题,出在商品链接收集环节:
每个商品容器(li.col-xs-6 col-sm-4 col-md-3 col-lg-3)里包含两个<a>标签——一个包裹商品图片,一个包裹商品标题,这两个标签的href完全相同。而你用了item.find_all('a', href=True)遍历所有a标签,导致同一条商品链接被重复添加到productlinks列表中。后续遍历这个列表爬取数据时,同一件商品会被处理两次,最终输出重复数据。

修复代码

把收集链接的内层循环替换为获取单个a标签的逻辑,无需遍历:

原代码片段:

for item in productlist:
    for link in item.find_all('a', href=True):
        productlinks.append(baseurl + link['href'])

修改为:

for item in productlist:
    link = item.find('a', href=True)
    productlinks.append(baseurl + link['href'])

补充说明

你猜测的表格遍历环节没有问题,重复数据和表格数据提取无关,核心问题就是商品链接被重复收集了。修改后每个商品只会被添加一次链接,爬取的数据就不会重复了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 07:55:16