影刀RPA深度教程电商采集实战淘宝拼多多反爬策略电商数据采集是影刀最经典的场景。这篇讲淘宝和拼多多的实战采集附带反爬应对方案。先装好环境www.yingdao.com 下载社区版免费。装完去Chrome装影刀插件。第一部分淘宝搜索结果采集完整案例需求输入关键词手机壳采集前5页的商品标题、价格、销量、店铺名、商品链接。完整流程骨架1. 启动浏览器Chrome 2. 拼接URLhttps://s.taobao.com/search?q手机壳 3. 跳转网址 4. 等待商品列表加载完成等待元素出现//div[classitems]) 5. 设置变量page_count 1 6. While 条件page_count 5 a. 获取相似元素商品列表的每个商品块 b. ForEach循环每个商品块 - 获取标题子元素//a[classitem-title]) - 获取价格子元素//span[contains(class,price)] - 获取销量子元素//span[contains(class,sale)] - 获取店铺名子元素//a[contains(class,shop)] - 获取链接获取href属性 - 写入Excel一行 c. 点击下一页按钮 d. 等待页面刷新等待元素出现下一页按钮的高亮状态 e. page_count page_count 1 7. 保存Excel关闭浏览器关键XPath淘宝商品标题//a[contains(class,item-title)]价格有多种class用contains//span[contains(class,price)]销量//span[contains(text(),人付款)] ← 文字包含人付款店铺名//a[contains(class,shop-name)]下一页按钮//a[contains(class,next) and not(disabled)]判断下一页是否disabled最后一页//a[contains(class,next)][disabled] [video(video-pofYftaZ-1783094833720)(type-csdn)(url-https://live.csdn.net/v/embed/525010)(image-https://v-blog.csdnimg.cn/asset/f4faa587144cb7070f19e8b36813806b/cover/Cover0.jpg)(title-店群矩阵自动化突破运营极限)]如果找到这个元素说明已经是最后一页退出循环。坑点1淘宝动态渲染元素加载慢解决不要用固定等待用等待元素出现等待元素出现//div[classitems] 超时15秒如果15秒还没加载出来说明可能触发了验证码。坑点2登录验证淘宝搜索不需要登录但如果频繁访问会弹出滑块验证码。应对策略每次请求后随机等待2-5秒用Python生成随机数用图像识别-点击指令处理滑块简单滑块可以过高频采集建议用代理IP第二部分拼多多搜索结果采集拼多多的特殊性拼多多的页面是动态渲染的类似React元素定位和淘宝不同而且反爬更严格。关键XPath拼多多拼多多的class名是动态生成的如cls-12345不能用class定位。用其他属性定位//div[data-testidbeast-core-generic-card]拼多多有些元素有data-testid属性这个比较稳定。按文字内容定位商品价格//span[contains(text(),¥)]取商品链接拼多多的链接在data-href属性里不是href指令获取元素属性 属性名data-href ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/040ef6f562e84678af217073319b225f.png#pic_center) 保存到变量goods_url拼接完整URLhttps://mobile.yangkeduo.com/ goods_url翻页处理拼多多是滚动加载不是翻页按钮拼多多搜索结果是滚动到底部自动加载更多不是点击下一页。处理思路设置变量previous_count 0 设置变量current_count 获取当前商品数量() While 条件current_count previous_count 且 page_count 5 → 滚动到页面底部 → 等待2秒等内容加载 → previous_count current_count → current_count 重新获取商品数量() → page_count page_count 1 如果 current_count previous_count两次数量一样说明没有更多内容了 → 退出循环滚动到底部的指令指令执行JavaScript 代码window.scrollTo(0, document.body.scrollHeight);第三部分反爬策略完全攻略策略1随机等待时间固定等待太规律容易被识别。用随机等待指令Python代码 代码 def main(args): import random wait_time random.uniform(2, 5) # 2到5秒之间的随机数 import time time.sleep(wait_time) return {wait_time: wait_time}策略2模拟真人操作真人在浏览页面时会滚动页面不是瞬间跳到底部鼠标移动不是直接点击有时会在页面停留很久模拟滚动逐步滚动不是一下子滚到底指令Python代码 代码 def main(args): import time for i in range(10): # 分10次滚动 js window.scrollBy(0, 300) # 每次滚动300px # 需要在网页对象上执行JS这里简化 time.sleep(0.2) return {}策略3更换User-Agent有些网站通过User-Agent识别爬虫。指令设置User-Agent在启动浏览器之前 User-Agent字符串 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36策略4使用代理IP高频采集时同一个IP会被封。指令设置代理 代理类型HTTP/HTTPS 代理地址your_proxy_ip:port 用户名/密码如果需要认证代理IP来源免费代理不稳定适合测试付费代理服务如快代理、熊猫代理稳定策略5Cookie复用模拟已登录状态temu店群自动化报活动案例如果网站对未登录用户限流可以先手动登录然后让影刀复用登录态。1. 手动在影刀启动的浏览器里登录淘宝/拼多多 2. 登录完成后影刀会自动保存Cookie 3. 下次启动浏览器时Cookie自动带上不需要重新登录注意不要用影刀同时开多个浏览器窗口Cookie可能会串。第四部分数据存储与去重问题重复采集同一条数据翻页时可能采集到重复的商品比如第1页最后一条和第2页第一条是同一个。解决方法用商品ID去重1. 启动Excel读取已采集的数据如果有的话 2. 提取所有已采集的商品ID保存到列表collected_ids 3. 采集新数据时 If 当前商品ID 在 collected_ids 里 → 跳过不写入Excel Else → 写入Excel → 把当前商品ID加入 collected_ids商品ID怎么取淘宝商品URL里包含商品IDhttps://detail.tmall.com/item.htm?id123456789用正则表达式提取ID指令正则表达式匹配 文本goods_url 正则表达式id(\d) 保存结果到goods_id第五部分完整代码模板可直接用淘宝采集模板伪代码启动浏览器 跳转网址https://s.taobao.com/search?q keyword 等待元素出现//div[classitems]超时15秒 设置变量page 1 设置变量max_page 5 设置变量all_data [] While 条件page max_page → 获取相似元素列表//div[contains(class,item)]保存到items → ForEach循环items → 获取标题//a[contains(class,item-title)]保存到title → 获取价格//span[contains(class,price)]保存到price → 获取销量//span[contains(text(),人付款)]保存到sales → 列表追加all_data 追加 [title, price, sales] → 点击//a[contains(class,next)] → 等待元素出现//div[classitems]确认新页面加载完成 → page page 1 → 随机等待2-5秒调用前面的Python代码 启动Excel打开结果文件 写入Excelall_data批量写入 保存并关闭Excel 关闭浏览器第六部分常见报错与解决报错原因解决元素未找到商品列表页面被验证码拦截加Try-Catch失败时截图换IP获取到的价格为空价格是动态加载的还没渲染出来加等待1秒再获取翻页后还是同一批数据页面没刷新元素还是旧的在点击下一页后加等待元素消失确认旧列表消失| 写入Excel时报错 | 商品标题里有特殊字符如/: | 用文本替换把特殊字符替换掉 || 流程跑得很慢 | 每采集一条都写入Excel | 先在内存里攒数据最后批量写入 |更多电商采集案例和完整流程模板可以在 home.linyan.cloud 查找。#影刀RPA #电商采集 #淘宝 #拼多多 #反爬策略作者林焱