影刀RPA实战:网页爬虫之天猫商品数据
1.实战目标
1.1 实战目标
在电商行业,我们经常爬取各个平台的商品数据,通过收集和分析这些商品数据,企业可以了解市场趋势、消费者偏好和竞争对手的动态,从而制定更有效的市场策略。爬取商品数据对于企业在市场竞争中把握先机、优化运营策略、提升产品和服务质量具有重要的价值
- 分析用户的购买行为,有助于企业了解消费者的需求和购物习惯,优化产品和服务。
- 根据收集到的商品评价和反馈,可以对产品进行改进,提高产品质量和满足消费者需求。
- 利用商品数据,可以设计更有针对性的营销活动,提高转化率和销售额。
- 了解竞争对手的定价策略和市场价格波动,可以调整自己的价格策略,提高竞争力。
- 通过分析用户对品牌商品的反馈和评价,可以加强品牌建设,提升品牌形象。
本次使用影刀RPA,实现对天猫平台药品数据的爬取,实战示例保存在excel数据表中。小伙伴们可以在这个案例的基础基础上,设计更多的商品数据采集机器人。为我们的运营决策提供有力依据!
1.2 知识准备
- 网页元素获取
- 循环相似元素
- 网页批量数据抓取
- excel操作指令
2.竞品与商品跟价
2.1 竞品数据
竞品数据是指与自身产品或服务直接或间接竞争的其他产品或服务的相关数据。这些数据通常包括竞品的市场份额、用户评价、功能特性、价格策略、营销活动等信息。通过对竞品数据的分析,企业可以了解市场竞争态势,发现自身产品的优势和不足,从而制定有效的市场策略。
应用竞品数据的场景包括:
- 市场定位:通过竞品数据分析,确定自身产品在市场中的定位。
- 功能优化:借鉴竞品的优点,优化自身产品的功能和用户体验。
- 营销策略:分析竞品的营销活动,制定自身的市场推广计划。
- 风险预警:提前发现潜在的市场风险和竞争对手的动向,制定应对策略。
2.2 商品跟价
商品跟价,即价格跟随策略,是指电商平台上商家为了保持竞争力,实时监控竞争对手的商品价格,并自动或手动调整自己的商品价格,以吸引消费者或保持市场份额的做法。这种做法在电商平台上越来越普遍,尤其是在大促销期间,如618、双11等购物节。
跟价的意义:
- 提升竞争力:通过自动调整价格,商家可以确保自己的商品价格具有竞争力,吸引对价格敏感的消费者。
- 增加销量:低价往往会驱动销量的增加,尤其是在电商平台上,价格往往是消费者决策的重要因素。
- 响应市场变化:市场供求关系不断变化,通过跟价,商家可以快速响应市场变化,避免因价格不具竞争力而错失销售机会。
- 维护客户关系:对于忠诚客户,商家可以通过价格优势维护客户关系,防止客户流失到竞争对手。
- 数据驱动决策:跟价策略通常基于数据分析,这有助于商家做出更加科学和合理的定价决策。
同时也存在一些问题和挑战:
- 利润压缩:为了保持价格竞争力,商家可能不得不降低利润空间,长期以往可能会影响商家的盈利能力。
- 价格战:过度的跟价可能导致平台陷入价格战,损害整个行业的利润水平。
- 品质问题:在追求低价的过程中,可能会出现牺牲产品质量以降低成本的情况,最终损害消费者利益。
- 政策风险:一些国家和地区对电商平台的价格竞争有严格的监管,商家需要遵守相关法律法规,避免不正当竞争。比如药品行业,对一些药品的价格,有着严格的把控。
- 操作复杂性:对于商家而言,实施有效的跟价策略需要复杂的技术支持和数据分析能力。
电商平台和商家在实施跟价策略时,需要权衡利弊,找到适合自己的平衡点。同时,也要考虑到长期品牌建设和消费者关系维护,不仅仅是短期的价格竞争。
本次我们主要考虑的是价格因素,通过抓取竞争对手的商品价格数据,结合我们自身的数据,制定有效的价格策略,提升自己摘平台上竞争力。
3.实战步骤
3.1 登录天猫
我们打开天猫网站,登录后,让他保持登录状态,登录一次后,短期内,使用以下两条指令都可以实现。

3.2 循环查询商品数据
首先我们设置下需要获取的数据,比如现在我们要抓取的数据是:熊去氧胆酸胶囊 250mg*25粒/盒

设置一张存放抓取数据的excel表

准备好后,我们循环第一张数据中的商品名称,以此在天猫上搜索。

影刀代码:

3.3 批量数据抓取商品列表
每循环一个商品,都会查询出一个商品列表,在这个网页对象中我们实施商品抓取

对于这个列表页我们使用数据抓取功能,直接抓取整个页面,需要分页的伙伴请参考之前的书籍抓取实战。
主要是2个步骤:
- 使用批量数据抓取指令,获取整个页面的数据
- 循环这些商品数据,调用商品详情页流程


3.4 商品详情页获取数据
需要在详情页面获取的数据

首先获取公共数据,每个套装只是数量与价格不同,其他的数据一致。

需要注意,平台商铺,我们需要使用通配符获取,使用一般的网页获取,会失效,这需要观察页面的相关属性来排除错误

其次,套餐类型是一个相似元素列表,我们获取后循环,就能拿到每个套餐的数量与价格

最后,将数据写入列表中

3.5 写入Excel数据表
每循环一次套餐类型,我们就把获取的数据写入excel中,直到所有的数据抓取完毕


3.6 数据后续处理思考
数据爬取完成后,需要做以下几点处理
- 平台商品是模糊搜索,需要确定写入的商品是否是实际需要的
- 某些字段需要二次处理,比如套餐数量,有的是数字,有的可能是数字加说明,需要我们处理
- 缺失数据处理,有些数据有可能获取的是空字符串,需要进行删除或填存
- 数据存储问题,结合我们自身的条件,是文档存放,数据库存放,整理成格式统一,便于调取使用的数据格式才是我们最终的目的。
4.实战难点解析
4.1 数据抓取
主要讲下数据抓取这个指令:
在网页中抓取批量数据,常用于抓取列表页、详情页,同时可通过设置分页按钮抓取多页数据
首先,打开或获取一个网页对象

其次,启动数据抓取指令,这个指令在影刀软件的上方中间位置

批量抓取,类似与获取相似元素,他的特点是会自动分析网页,将你所选择的元素作为依据,获取整个页面的与其相类似的元素,就形成一列数据存放起来

操作演示:

分页设置,多页获取的思路就是先获取总页数,和点击下一页元素

4.2 反爬虫
平台对于数据做了反爬虫技术,如果频繁的爬取数据,页面会有弹窗验证设置,同时影刀也可以解决一些弹窗限制,但是需要付费。
5.最后
感谢大家,请大家多多支持!
相关文章:
影刀RPA实战:网页爬虫之天猫商品数据
1.实战目标 1.1 实战目标 在电商行业,我们经常爬取各个平台的商品数据,通过收集和分析这些商品数据,企业可以了解市场趋势、消费者偏好和竞争对手的动态,从而制定更有效的市场策略。爬取商品数据对于企业在市场竞争中把握先机、…...
微信小程序注册流程及APPID获取(完整版图文教程)
文章目录 前言1. 注册微信小程序账号1.1微信小程序注册1.2 点击注册按钮,进入小程序注册步骤。1.3 填写邮箱、密码、验证码1.4 用户信息登记1.5 微信扫码认证后,回到微信公众平台点击确认提交1.6 进小程序后台,完成注册 2.完善小程序账号信息…...
分享课程:VUE数据可视化教程
在当今这个数据驱动的世界中,数据可视化已经成为了一种至关重要的工具,它帮助我们理解复杂的数据集,发现模式、趋势和异常。数据可视化不仅仅是将数字转换成图表,它是一种将数据转化为洞察力的艺术。 1.什么是数据可视化…...
Flink的反压机制:底层原理、产生原因、排查思路与解决方案
反压(Backpressure)是流处理框架(如 Apache Flink)中非常重要的概念。反压的产生和有效处理,直接影响整个流处理作业的稳定性和性能。本文将从 Flink 的底层原理、反压产生的原因、如何排查反压问题,以及如…...
Unity DOTS系列之Aspect核心机制分析
最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Aspect机制,方便大家上手学习掌握Unity DOTS开发。 Aspect 机制概述 当我们使用ECS开发的时候,编写某个功能可能需要某个entity的一些组件,如果我们一个个组件的查询出来,可能…...
webpack 的打包target讲解 node环境打包下的文件存储造成不易察觉的坑点
背景 electron 主渲进程的打包,以及 preload 的打包,还有注入脚本的打包,这些东西 webpack 本身是自带的,这里主要讲一下 target: node 模式 代码 https://gitee.com/sen2020/webpack-demo/tree/feature%2Fnode-code-package/ n…...
JVM面试问题集
什么是运行时数据区? 什么是JVM? 了解过字节码文件的组成吗? 说一下运行时数据区 哪些区域会出现内存溢出,会有什么现象? JM在JDK6-8之间在内存区域上有什么不同 类的生命周期 常见的类加载器 什么是双亲委派机制 说明各个类加载器之间的关系 解释双亲委派机制 …...
Go weak包前瞻:弱指针为内存管理带来新选择
在介绍Go 1.23引入的unique包的《Go unique包:突破字符串局限的通用值Interning技术实现》一文中,我们知道了unique包底层是基于internal/weak包实现的,internal/weak是一个弱指针功能的Go实现。所谓弱指针(Weak Pointer,也称为弱…...
ZStack AIOS平台智塔入选2024世界计算大会专题展优秀成果
9月24日至25日,由湖南省人民政府主办,湖南省工业和信息化厅、长沙市人民政府、中国电子信息产业发展研究院承办的2024世界计算大会在湖南长沙举办。云轴科技ZStack AIOS平台智塔凭借在智算领域的卓越表现,入选2024世界计算大会专题展优秀成果…...
总结 自行解决问题经验
一、总结在使用Linux时遇到的各种坑 yum 源要替换为国内源wget 需要用yum先行下载在make的时候需要预先安装各种库端口无法访问时要记得去防火墙开启端口访问权限安装完各种程序的时候记得创建环境变量或者软链接… 二、遇到故障如何正确高效的去解决 在使用yum下载wget的时…...
软件设计模式——工厂模式
软件设计模式——工厂模式 文章目录 软件设计模式——工厂模式一、设计模式的认知1.1 什么是软件设计模式:1.2 为什么要学习设计模式:1.3 设计模式的分类: 二、工厂模式2.1 工厂模式实例: 一、设计模式的认知 1.1 什么是软件设计…...
Apache Druid命令执行(CVE-2021-25646)
漏洞详情: Apache Druid 是用Java编写的面向列的开源分布式数据存储系统,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。 Apache Druid含有能够执行嵌入在各种类型请求中由用户提供的JavaScript代码功能。此功能适用于高度信任环境…...
新的 MathWorks 硬件支持包支持从 MATLAB 和 Simulink 模型到高通 Hexagon 神经处理单元架构的自动化代码生成
MathWorks 今天宣布,推出针对 Qualcomm Hexagon™ 神经处理单元(NPU)的硬件支持包。该处理单元嵌入在 Snapdragon 系列处理器中。MathWorks 硬件支持包,则专门针对 Qualcomm Technologies 的 Hexagon NPU 架构进行优化,…...
gorm.io/sharding:改造,当查询条件中不包含分表键时,从自定义方法中获取对应的表进行查询
项目背景 这篇文章是一种特殊的情形——当查询条件中不包含分表键时,从自定义方法中获取对应的表进行查询。实际项目中并不建议这种用法。 当然,这里只是提供一种思路。这篇文章也是这个系列中的第三篇文章。前两篇文章《基于gorm.io/sharding分表中间…...
【CSS】变量的声明与使用
原生变量root 伪类 原生变量 CSS中我们可以统一设置变量方便页面维护。变量声明的时候,自定义样式变量名之前加上两根连词线 " – " 即可,使用 var() 来引用。声明的变量是有作用域的 ( 比如是在html中声明的变量,那么该变量在html…...
【数学分析笔记】第3章第4节闭区间上的连续函数(1)
3. 函数极限与连续函数 3.4 闭区间上的连续函数 3.4.1 有界性定理 【定理3.4.1】 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上连续,则 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上有界。 【证】用反证法,假设 f ( x ) f(x) f(x)在 [ …...
Mybatis中sql数组为空判断
一、Mybatis xml中的sql通过if语句判定是否为空 <if test"arrays ! null"> </if>上述示例只能判断arrays数组不为null,那如果是个空数组呢 二、Mybatis xml中的sql通过if语句判定数组非空数组 <if test"arrays ! null and arrays.l…...
12.第二阶段x86游戏实战2-CE找基地址
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…...
笔记整理—内核!启动!—linux应用编程、网络编程部分(3)文件共享与标准IO
文件共享是指同一个文件被多个独立的读写进行操作。同一个文件为同一个inode,同一个pathname也就是同一个静态文件。同时进行操作,打开一个文件未关闭又被另一个操作打开。文件共享的方式可以实现高效的大文件读写。 文件共享的三种方式:①同…...
plt常用函数介绍一
目录 前言plt.figure()plt.subplot()plt.subplots()plt.xticks()plt.xlim() 前言 Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口。在Pyplot中可以使用各种图,例如线图,轮廓图&#…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
