AliExpress 爬虫指南:如何采集产品与评论数据

Last modified date

Comments: 0

你准备爬取 AliExpress 的商品和评论数据吗?现在就来了解可用于爬取 AliExpress 的最佳网页爬虫,以及如果你会编程如何开发自己的爬虫。

最佳 AliExpress 爬虫

电商是一个竞争激烈的领域,有大玩家也有小玩家。AliExpress 是市场中的参与者之一,库存超过 1 亿件商品,2021 年 1 月的访客超过 5 亿,在那之前的一个月活跃买家超过 1.5 亿。本文中对我们来说有趣的不是买家数据,而是该平台上庞大的信息数据库。

你可以提取商品数据用于联盟推广、监控自有产品的定价和排名以保持竞争力,以及利用评论数据发现模式和进行分析——这对市场研究很有用,可以了解用户对某些产品的看法。虽然你可以看出 AliExpress 是商品和评论数据的中心,但你需要知道——AliExpress 不向公众开放其数据,即使这些数据对所有人公开可见。如果你必须提取平台上的数据,你必须在没有任何平台帮助的情况下进行。众所周知,任何合理规模的手动网页数据提取都是繁重、枯燥且容易出错的。

这就是为什么网页爬取是收集 AliExpress 网页数据的最佳方法。我们将为你提供如果你会编程如何最好地爬取 AliExpress 的建议,以及如果你不会编程可以使用的现成 AliExpress 爬虫推荐。

AliExpress 爬取概览

AliExpress 爬取是使用称为网页爬虫或更具体的 AliExpress 爬虫的计算机机器人从 AliExpress 网页上提取公开数据的过程。信息可以是商品数据——如名称、描述、评分、甚至卖家信息;也可以是买家评论。实际上任何平台上公开可见的信息都可以被爬取。

过程其实很简单。网页爬虫充当浏览器,发送页面请求。与渲染页面的浏览器不同,网页爬虫会解析出目标数据以存储或直接使用(如果是自定义爬虫)。爬取是你从 AliExpress 提取数据的头号方法——因为平台不提供公开 API 让你收集所有需要的信息。有趣的是 AliExpress 反对爬取其内容——因为爬取不给平台增加任何价值,而是在短时间内向其发送大量非自然请求。这使得 AliExpress 开发了阻止爬取的方法,只有当你成功绕过这些检查时才能顺利爬取。

如何使用 Python 和 Selenium 爬取 AliExpress

如果你会编程,在正确的指导下你可以开发自己的自定义 AliExpress 爬虫来爬取商品和评论数据。你精通什么编程语言并不重要——最重要的是语言是图灵完备的,并为你提供了一种发送 HTTP 请求和从网页中解析内容的方法。在本指南中我们将使用 Python,因为它是教授网页爬取最流行的语言。

爬取 AliExpress 时有一件事你需要知道——它可能因依赖 JavaScript 而变得困难。是的,如果你关闭 JS 执行,AliExpress 网页将无法正确渲染。这意味着你不能使用 Requests 和 Beautifulsoup 来爬取它。你需要使用渲染 JavaScript 的库或框架。Selenium Web Driver 是 Python 程序员的工具——Selenium 也支持其他流行编程语言。然而 NodeJS 开发者使用 Puppeteer 会更好。Selenium 自动化浏览器——你用这个能力做什么取决于你——在我们的情况下,我们将使用它来渲染 AliExpress 网页上的完整内容,以便用其 API 提取页面数据。访问 Selenium Python 的官方文档

另一件你需要知道的事是——爬取 AliExpress 时你会在几个页面后被封锁。这是因为 AliExpress 不支持爬取,并设置了反垃圾系统来阻止网页爬虫。要想成功,你需要绕过反爬措施。你需要实现的主要技术是使用轮换代理来频繁更换 IP 地址——IP 追踪和封锁是 AliExpress 检测和阻止爬虫最有效的方法。使用轮换代理使其失效。我建议你从 Bright Data、Smartproxy 或 Soax 购买高质量的住宅代理。其他需要实施的技术包括设置流行的 HTTP 请求头轮换 User-Agent 字符串和设置随机请求间延迟时间。

爬取 AliExpress 的代码示例

为展示如何将以上内容整合到实际可运行的代码中,我们提供一个从 AliExpress 网站爬取商品详情的示例脚本。脚本很简单——你只需向 AliScraper 提供商品 URL 即可获取商品信息。脚本相当基础,不处理异常,也不集成反封锁功能——所以只是概念验证。你需要下载与你 Chrome 版本对应的 Chrome Driver 并将其放在与以下脚本相同的文件夹(路径)中。在此下载 selenium Chrome driver

from selenium import webdriver

class AliScraper:
    def __init__(self, url):
        self.url = url
        self.driver = webdriver.Chrome()

    def scraped_data(self):
        self.driver.get(self.url)
        name = self.driver.find_element_by_class_name("product-title-text").text
        price = self.driver.find_element_by_class_name("uniform-banner-box-price").text
        rating = self.driver.find_element_by_class_name("overview-rating-average").text
        return {"name": name, "price": price, "rating": rating}

urls = ["https://www.aliexpress.com/item/1005003004628090.html"]
for url in urls:
    print(AliScraper(url).scraped_data())

最佳 AliExpress 爬虫

如果你不想创建自定义爬虫或没有相关技能,没关系——你仍然可以爬取 AliExpress——得益于市面上的现成爬虫。

1. Bright Data Data Collector

Bright Data
  • 定价:$500 起/151K 页面加载
  • 免费试用:可用
  • 输出格式:Excel
  • 平台:基于 Web

Bright Data 是代理市场的领导者,其 Data Collector 工具已被证明是爬取 AliExpress 的最佳工具之一。该工具消除了网页爬取的技术性——你无需处理代理或任何系统,只需通过任意 Web 浏览器访问即可获取数据。基本上有两个 AliExpress 采集器:AliExpress 商品搜索(按 URL 收集商品数据)和 AliExpress 发现(收集所有分类页面)。面向非编程人员,按使用付费。

2. Apify AliExpress Scraper

Apify
  • 定价:$49/月起/100 Actor 计算单元
  • 免费试用:入门计划含 10 Actor 计算单元
  • 输出格式:JSON
  • 平台:云端——通过 API 访问

NodeJS 开发者不想从零构建 AliExpress 爬虫?可以直接使用 Apify 平台上的这个爬虫。可提取商品详情如图片、描述、价格、问题和反馈等。需要配合住宅代理(推荐 Bright DataSmartproxy)。新用户可申请免费试用确保它适用于你。

3. Proxycrawl Scraper API

Proxycrawl
  • 定价:$29/月起
  • 免费试用:可用
  • 输出格式:JSON
  • 平台:Web API

为开发者设计的爬虫 API——帮你处理代理和浏览器,同时充当解析器。无需安装任何应用即可爬取 AliExpress——只需发送 Web 请求。支持 AliExpress 商品详情(图片、评论、价格和配送信息等),还提供来自 AliExpress 的结构化 SERP 数据。作为 Web API 访问,结果以 JSON 返回。

4. WebHarvy

WebHarvy
  • 定价:免费增值模式
  • 输出格式:CSV、XLSX、JSON
  • 平台:浏览器扩展(Chrome/Firefox)

通用网页爬虫,设计用于爬取各类网站包括现代 Ajax 化网站——可用于爬取 AliExpress。WebHarvy 甚至提供了如何使用 WebHarvy 爬取 AliExpress 的简易指南。无需编程技能,只需点击选中目标数据。具有爬取调度、代理支持和智能模式检测等高级功能。

5. ScrapeStorm

ScrapeStorm

AI 驱动的通用爬虫,前 Google 爬虫团队成员开发。无需编程,自动识别和提取数据。起价 $49.99/月,有免费入门计划。

原文来源:Best Proxy Review — AliExpress Scraper: How To Scrape AliExpress For Product And Review Data

chcrazy

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment