一、火车采集器采集亚马逊的基本原理
火车采集器(Locoy Spider)是一款基于 .NET 框架的多线程网络数据采集软件,支持通过正则表达式、XPath、CSS 选择器等方式从网页中提取结构化数据。对于亚马逊这样的电商平台,主要采集公开可见的商品信息(如标题、价格、销量、评价、图片等)。
核心概念:
采集规则:告诉采集器要采集哪个网站的哪些信息,可导出为
.ljobx文件发布模块:将采集到的数据发布到目的地(网站或数据库),后缀名为
.wpm(Web发布)或.dbm(数据库发布)采集任务:采集规则 + 发布模块的完整组合
二、亚马逊采集的特殊难点
亚马逊的反爬虫机制是业内最严格的之一,采集时需要注意:
表格
| 难点 | 说明 | 解决方案 |
|---|---|---|
| 动态反爬 | AI监测鼠标轨迹和请求特征 | 使用内置浏览器模拟真实用户行为 |
| AJAX加载 | 价格、评价等数据异步加载 | 启用内置浏览器渲染,或分析异步接口 |
| IP封禁 | 频繁请求会触发风控 | 配置代理IP池、增大随机延时、伪装User-Agent |
| 页面结构复杂 | 商品详情和价格可能不在同一页面 | 使用多页采集功能 |
| 登录限制 | 部分数据需登录可见 | 导入Cookie或内置浏览器登录 |
三、实操步骤:采集亚马逊商品信息
Step 1:新建采集任务
打开火车采集器 → 点击「新建分组」命名(如"Amazon采集")
选中分组 → 点击「新建任务」→ 填写任务名称(如"Amazon手机商品采集")
添加起始网址:亚马逊搜索结果页或类目列表页 URL
示例起始网址:
plain
https://www.amazon.com/s?k=smartphoneStep 2:配置列表网址规则(第一步:采网址)
在"第一步:采网址"中配置:
常规模式:直接填入列表页 URL
多页模式:使用
[page]占位符,如:plain
https://www.amazon.com/s?k=smartphone&page=[page]设置起始页和结束页
高级模式:如需获取子页面链接,设置链接过滤规则(如必须包含
/dp/)
关键操作:
点击"高级模式" → 在"链接过滤"中设置"必须包含"规则(如
/dp/或/gp/product/)使用内置浏览器打开页面,查看源码,找到商品链接的共同特征
Step 3:配置内容采集规则(第二步:采内容)
切换到"第二步:采内容",添加标签提取字段:
表格
| 字段 | 提取方法 | 注意事项 |
|---|---|---|
| 商品标题 | 前后截取/XPath/CSS选择器 | 亚马逊标题通常在<span id="productTitle">中 |
| 价格 | 正则/前后截取 | 价格可能异步加载,需用内置浏览器 |
| 商品图片 | 图片URL提取 | 勾选"下载图片",设置保存路径 |
| 销量/评价 | 正则提取数字 | 注意格式如"1,234 ratings" |
| 商品描述 | 前后截取 | 可能在不同区块 |
操作技巧:
点击「添加标签」创建字段
点击「从浏览器获取」或「从源码获取」
在内置浏览器中打开商品详情页,点选目标数据,软件自动生成规则
手动微调:切换到"源码模式"用正则优化
价格提取正则示例:
regex
<span class="a-price-whole">([0-9,]+)</span>图片下载设置:在标签的"数据处理"中勾选「下载文件/图片」,设置保存路径。对于不带HTML标签的缩略图,需勾选"探测文件并下载"。
Step 4:应对AJAX动态加载
亚马逊的价格、库存等信息常通过AJAX加载,处理方法:
启用内置浏览器:让页面完整渲染后再提取数据
设置等待时间:在采集规则中设置"执行前等待"3-5秒,"Ajax超时"15秒
分析异步接口:打开浏览器开发者工具 Network 面板,找到返回JSON数据的接口,直接用接口地址作为采集目标
Step 5:设置反爬优化
在任务设置中配置:
请求间隔:设置随机延时(建议3-10秒)
User-Agent:伪装成主流浏览器
Referer:设置合理的来源页面
代理IP:配置代理IP池轮换
Cookie:如需登录,导入有效的Cookie
Step 6:发布内容设置
采集的数据可以:
导出文件:CSV、Excel、Text、HTML 格式
数据库发布:直接写入 MySQL/SQL Server/Access/Oracle
Web发布:通过发布模块(.wpm)发布到网站
四、常见问题与解决方案
Q1:采集不到价格数据?
A:亚马逊价格常通过AJAX加载,启用内置浏览器模式,设置足够的等待时间让页面渲染完成。
Q2:IP被封怎么办?
A:配置代理IP池,增大请求间隔随机延时,伪装User-Agent和Referer头,让请求特征接近真实用户。
Q3:多页采集如何设置?
A:使用[page]变量或自动翻页功能。对于POST请求的翻页(地址栏URL不变),需用抓包工具(如Fiddler)分析请求参数,用"分页"变量替换。
Q4:能采集评论吗?
A:可以,但亚马逊评论通常需要滚动加载或点击"See all reviews",建议使用内置浏览器模拟点击和滚动操作。