【爬虫】Python实现爬取淘宝商品信息(超详细)

【爬虫】Python实现爬取淘宝商品信息(超详细)
【更新说明】项目代码已在2025年11月23日16点30进行更新,如有问题可评论或私信与我联系!

目录

项目介绍

代码部分

引用第三方库

全局定义

主函数

爬虫主函数代码

搜索“关键词”

翻页函数代码

​编辑

获取商品列表信息代码

完整代码

项目介绍

项目使用ChromeDriver插件,基于Python的第三方库Selenium模拟浏览器运行、PyQuery解析和操作HTML文档,获取淘宝平台中某类商品的详细信息(商品标题、价格、销量、商铺名称、地区、商品详情页链接、商铺链接等),并基于第三方库openpyxl建立、存储于Excel表格中。
【说明】若允许代码出现翻译错误、代码能正常运行但是Excel没有数据等问题,可能是淘宝网页更新了父元素类选择器的缘故,大家可以参照教程检查一下元素是否更新;若网页元素更新,则可参照教程自行修改;【爬虫】教你如何获取淘宝网页父元素类选择器标签(超详细)-ZEEKLOG博客

效果预览:

代码部分

引用第三方库

# 代码说明: ''' 代码功能: 基于ChromeDriver爬取taobao(淘宝)平台商品列表数据 输入参数: KEYWORLD --> 搜索商品“关键词”; pageStart --> 爬取起始页; pageEnd --> 爬取终止页; 输出文件:爬取商品列表数据 'Page' :页码 'Num' :序号 'title' :商品标题 'Price' :商品价格 'Deal' :商品销量 'Location' :地理位置 'Shop' :商品 'IsPostFree' :是否包邮 'Title_URL' :商品详细页链接 'Shop_URL' :商铺链接 'Img_URL' :图片链接 ''' # 声明第三方库/头文件 from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from pyquery import PyQuery as pq import time import openpyxl as op #导入Excel读写库 

【第三方库】主要运用到PyQuery、selenium、openpyxl等Python的第三方库;如若缺失,使用pip指令安装即可。

pip install pyquery pip install selenium pip install openpyxl

【ChromeDriver下载与安装】若运行过程中出现如下问题,可能是ChromeDriver版本与Chrome版本不一致导致,需要对ChromeDriver进行更新。ChromeDriver下载与安装:手把手教你,ChromeDriver下载与安装

全局定义

输入初始参数:爬取商品的关键词KEYWORD爬取网页的起始页pageStart爬取网页的终止页pageEnd
# 全局变量 count = 1 # 写入Excel商品计数 KEYWORD = input('输入搜索的商品关键词Keyword:')# 要搜索的商品的关键词 pageStart = int(input('输入爬取的起始页PageStart:'))# 爬取起始页 pageEnd = int(input('输入爬取的终止页PageEnd:'))# 爬取终止页 # 启动ChromeDriver服务 options = webdriver.ChromeOptions() # 关闭自动测试状态显示 // 会导致浏览器报:请停用开发者模式 options.add_experimental_option("excludeSwitches", ['enable-automation']) # 把chrome设为selenium驱动的浏览器代理; driver = webdriver.Chrome(options=options) # 反爬机制 driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""}) # 窗口最大化 driver.maximize_window() driver.get('https://s.taobao.com/') # wait是Selenium中的一个等待类,用于在特定条件满足之前等待一定的时间(这里是20秒)。 # 如果一直到等待时间都没满足则会捕获TimeoutException异常 wait = WebDriverWait(driver,20)

主函数

1、建立Excel表格,并设置第一行(表头);

2、调用爬虫主函数Crawer_main,启动爬虫程序;

3、输出.xlsx格式文件。
if __name__ == '__main__': # 建立Excel表格 try: ws = op.Workbook() # 创建Workbook wb = ws.create_sheet(index=0) # 创建worsheet # Excel第一行:表头 title_list = ['Num', 'title', 'Price', 'Deal', 'Location', 'Shop', 'IsPostFree', 'Title_URL', 'Shop_URL', 'Img_URL'] for i in range(0, len(title_list)): wb.cell(row=count, column=i + 1, value=title_list[i]) count += 1 # 从第二行开始写爬取数据 except Exception as exc: print("Excel建立失败!Error:{}".format(exc)) # 开始爬取数据 Crawer_main() # 保存Excel表格 data = time.strftime('%Y%m%d-%H%M', time.localtime(time.time())) Filename = "{}_{}_FromTB.xlsx".format(KEYWORD,data) ws.save(filename = Filename) print(Filename + "存储成功~")

(输入)效果预览:

爬虫主函数代码

1、ChromeDriver服务请求淘宝(https://www.taobao.com)服务,模拟浏览器运行,找到“输入框”输入关键词KEYWORD,并点击“搜索”按键;

2、若弹出登录窗口,使用手机“淘宝”APP,扫码登录(如图所示);

【注意】抓紧时间完成登录,若出现error,则重新运行代码,尽快登录;超时可能出现error

3、判断PageStart是否为1;若PageStart不为1,跳转至PageStart所在页;

4、调用get_goods获取起始页PageStart的商品列表信息;

5、调用page_turning翻页进行翻页,并爬取第PageStart+1页到第PageEnd页商品信息。
# 爬虫main函数 def Crawer_main(): try: # 搜索KEYWORD search_goods() # 判断pageStar

Read more

昇腾 (Ascend) NPU 实战指南:在 GitCode Notebook 中玩转 CodeLlama

昇腾 (Ascend) NPU 实战指南:在 GitCode Notebook 中玩转 CodeLlama

1.前言 随着大模型技术在软件开发领域的深入应用,越来越多的开发者开始尝试在本地或云端环境部署代码生成模型。华为昇腾(Ascend)计算产业随着 CANN 软件栈的不断成熟,已成为运行各类开源 LLM 的重要算力底座。 本文将以 CodeLlama 这一广受欢迎的代码生成模型为核心,结合 GitCode Notebook 提供的在线开发环境,讲解如何在本地或服务器的昇腾 NPU 环境中完成从依赖配置、模型加载到代码生成的完整流程。文章将通过结构化的流程讲解与可操作的示例代码,引导你在昇腾生态中顺利完成 CodeLlama 的部署与运行。 接下来我们就开始进行动手实践吧。 GitCode官网:https://gitcode.com/。 2.GitCode Notebook 环境准备 GitCode 是面向中国开发者的一站式代码协作与模型应用平台,集成了开源仓库托管、在线运行环境、模型中心等能力。其中的 GitCode Notebook 提供了无需本地配置的云端交互式开发环境,支持直接在浏览器中编写、运行和调试代码,非常适合进行大模型试验与算子验证。 进入Gitcode官网

By Ne0inhk
深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验

深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验

文章目录 * 🔍 深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验 * 📋 前言 * 🏗️ 一、模型参数配置 * ⚡ 二、核心能力实测:Flask API 完整服务生成 * 2.1 测试任务 * 2.2 模型输出分析 * 2.3 项目结构输出 * 2.4 核心代码质量评测 * 配置文件 (config.py) * 用户模型 (models/user.py) * 错误处理 (utils/errors.py) * 数据验证 (utils/validators.py) * 📊 三、性能表现评估 * 💡 四、使用技巧与建议 * 4.1 提示词优化技巧 * 4.2 参数调优建议

By Ne0inhk
Git国内极速下载与安装全攻略:无需翻墙的完整解决方案

Git国内极速下载与安装全攻略:无需翻墙的完整解决方案

在国内使用Git时,由于网络限制,直接从官方源下载安装包或克隆仓库往往速度缓慢甚至失败。本文将提供一套完整的国内镜像解决方案,涵盖从Git软件安装到日常使用加速的全流程,帮助开发者无需翻墙即可高效完成Git相关操作。 一、国内镜像源安装Git 1.1 选择国内镜像源下载安装包 国内多所高校和企业提供了Git安装包的镜像服务,下载速度远超国际源: * 中科大镜像源 :https://mirrors.ustc.edu.cn/git/ * 清华大学镜像源 :https://mirrors.tuna.tsinghua.edu.cn/git/ * 阿里云镜像源 :https://registry.npmmirror.com/binary.html?path=git-for-windows/ * 码云(Gitee)镜像 :https://gitee.com/mirrors/git-for-windows 推荐优先使用阿里云或中科大镜像,更新频率高且下载稳定 1.2 各系统安装步骤

By Ne0inhk
解锁超级生产力:手把手教你构建与GitHub深度集成的自动化工作流,让AI成为你的编程副驾驶

解锁超级生产力:手把手教你构建与GitHub深度集成的自动化工作流,让AI成为你的编程副驾驶

前言 在当今快节奏的软件开发世界中,效率就是生命线。每一位开发者、项目经理和技术爱好者都在不断寻求能够简化流程、自动化重复性任务并最终解放创造力的工具和方法。想象一下,如果你能用自然语言与你的开发环境对话,让它为你搜索代码库、管理项目任务,甚至直接在你最喜欢的代码托管平台GitHub上执行操作,那将会是怎样一种颠覆性的体验? 这并非遥不可及的科幻场景,而是已经可以实现的强大功能。本文将为你揭开这层神秘的面纱,通过一个名为“蓝耘”的平台(或任何支持此类功能的类似平台),一步步指导你从零开始构建一个基础的自动化工作流。更令人兴奋的是,我们将向你展示如何将这个工作流与强大的GitHub MCP(Multi-Capability Platform)工具无缝集成,从而赋予你的工作流直接与GitHub仓库进行深度交互的能力。 无论你是希望快速检索海量开源项目、自动追踪和创建任务(Issues),还是希望简化代码提交与拉取请求(Pull Request)的流程,本文都将为你提供详尽的、可操作的指南。我们将深入每一个步骤,从最基础的节点设置,到获取关键的GitHub密钥,再到最终实战演练,让你亲

By Ne0inhk