Como extrair dados do Alibaba com Python em 2026

Aprenda a criar um Scraper do Alibaba baseado em Python para extrair detalhes do produto, preços e muito mais. Perfeito para automatizar a coleta de dados com eficiência.
11 min de leitura
How to Scrape Alibaba blog image

Neste guia, você aprenderá:

  • O que é um Scraper do Alibaba e como ele funciona
  • Os tipos de dados que você pode recuperar automaticamente do Alibaba
  • Como criar um script de scraping do Alibaba usando Python

Vamos começar!

O que é um Scraper do Alibaba?

Um scraper do Alibaba é umbot de Scraping de dadosprojetado para extrair automaticamente dados das páginas do Alibaba. Ele funciona simulando o comportamento de navegação de um usuário para navegar pelas páginas do Alibaba. Ele lida com interações como paginação e recupera informações estruturadas, como detalhes do produto, preços e dados da empresa.

Dados que você pode extrair do Alibaba

O Alibaba é um tesouro de informações valiosas, como:

  • Detalhes do produto: nomes, descrições, imagens, faixas de preço, informações do vendedor e muito mais.
  • Informações da empresa: nomes de empresas, detalhes do fabricante, informações de contato e classificações.
  • Feedback do cliente: classificações, avaliações de produtos e muito mais.
  • Logística e disponibilidade: status do estoque, quantidades mínimas de pedido, opções de envio e muito mais.
  • Categorias e tags: categorias de produtos, tags relevantes ou rótulos.

Veja como extraí-los!

Extraindo dados do Alibaba em Python: guia passo a passo

Nesta seção, você aprenderá a criar um Scraper do Alibaba em um tutorial guiado.

O objetivo é orientá-lo na criação de um script Python que extraia automaticamente os dados da página “laptop” do Alibaba:

Laptop search results on Alibaba

Pronto? Siga as etapas abaixo!

Etapa 1: Configuração do projeto

Primeiro, verifique se você tem o Python 3 instalado em sua máquina. Caso contrário, baixe-o e siga o assistente de instalação.

Agora, use o comando abaixo para criar um diretório para o seu projeto:

mkdir alibaba-scraper

A pasta alibaba-scraper é onde você colocará o Scraper Python Alibaba.

Digite-o no terminal e crie um ambiente virtual dentro dele:

cd alibaba-Scraper
python -m venv env

Carregue a pasta do projeto em seu IDE Python favorito, como o Visual Studio Code com a extensão Python ou o PyCharm Community Edition.

Crie um arquivo scraper.py no diretório do projeto, que agora deve conter esta estrutura de arquivos:

the project’s directory

O Scraper.py é atualmente um script Python em branco, mas em breve conterá a lógica de scraping desejada.

No terminal do IDE, ative o ambiente virtual. No Linux ou macOS, execute este comando:

./env/bin/activate

De forma equivalente, no Windows, execute:

env/Scripts/activate

Ótimo, seu ambiente Python para o Scraping de dados do Alibaba está pronto!

Etapa 2: Selecione a biblioteca de scraping

O objetivo agora é determinar se o Alibaba usa páginas dinâmicas ou estáticas. Para fazer isso, abra a página de destino do Alibaba no seu navegador no modo de navegação anônima. Em seguida, clique com o botão direito do mouse no fundo, selecione “Inspecionar”, acesse a guia “Rede”, filtre por “Fetch/XHR” e recarregue a página:

The network tab on the chrome devtools

Nesta seção do DevTools, observe se a página faz alguma solicitação dinâmica significativa. Neste caso, ela faz, o que indica que a página é dinâmica. Uma análise mais aprofundada revela que a página usa JavaScript para renderização.

Em outras palavras, você precisa de uma ferramenta de automação de navegador como o Selenium para fazer o Scraping de dados do Alibaba de maneira eficaz. Saiba mais em nosso tutorial sobre Scraping de dados com Selenium.

O Selenium permite controlar programaticamente um navegador da web, simulando interações do usuário e permitindo que você faça scraping de conteúdo renderizado por JavaScript. É hora de instalá-lo e começar a usá-lo!

Etapa 3: Instale e configure o Selenium

Em um ambiente virtual ativado, instale o Selenium com este comando:

pip install -U selenium

Importe o Selenium no Scraper.py e crie um objeto WebDriver:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# inicializar uma instância do driver web do Chrome
driver = webdriver.Chrome(service=Service())

O código acima inicializa uma instância do WebDriver para controlar uma instância do Chrome. Observe que o Alibaba possui algumas medidas anti-scraping que podem bloquear navegadores headless.

Portanto, você não deve definir o sinalizador --headless. Como solução alternativa, considere explorar o Playwright Stealth.

Na última linha do seu Scraper, lembre-se de fechar o web driver:

driver.quit()

Ótimo! Você está totalmente configurado para começar a fazer scraping no Alibaba.

Etapa 4: conecte-se à página de destino

Use o método get() exposto pelo objeto Selenium WebDriver para visitar a página desejada:

url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"
driver.get(url)

O arquivo scraper.py agora conterá estas linhas de código:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# inicializar uma instância do driver web Chrome
driver = webdriver.Chrome(service=Service())

# a url da página de destino
url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"

# conectar-se à página de destino
driver.get(url)

# lógica de scraping...

# fechar o navegador
driver.quit()

Coloque um ponto de interrupção de depuração na linha final e inicie o script com o depurador. Aqui está o que você deve ver:

What you will see after launching the script

A mensagem “O Chrome está sendo controlado por um software de teste automatizado” certifica que o Selenium está controlando o Chrome conforme o esperado. Muito bem!

Etapa 5: selecione os elementos do produto

Como a página de produtos do Alibaba contém vários produtos, primeiro você precisa inicializar uma estrutura de dados para armazenar os dados coletados. Uma matriz funcionará perfeitamente para essa finalidade:

produtos = []

Em seguida, inspecione os elementos HTML dos produtos na página para entender:

  1. Como selecioná-los
  2. Quais dados eles contêm
  3. Como extrair esses dados
inspect the HTML elements of the products

Aqui, você pode ver que cada elemento do produto é um nó .m-gallery-product-item-v2.

Use o Selenium para selecionar todos os elementos do produto:

product_elements = driver.find_elements(By.CSS_SELECTOR, ".m-gallery-product-item-v2")

find_elements() aplica a estratégia de seletor fornecida para recuperar elementos na página. No caso acima, a estratégia de seletor é um seletor CSS.

Não se esqueça de importar By:

from selenium.webdriver.common.by import By

Itere sobre os elementos selecionados e prepare-se para extrair dados de cada um deles:

para product_element em product_elements:
    # extraia dados de cada elemento do produto

Ótimo! Você está um passo mais perto de extrair dados do Alibaba com sucesso.

Etapa 6: extraia os elementos do produto

Inspecione um elemento do produto para entender sua estrutura HTML:

Inspecting a product element on Alibaba

Aqui você pode ver que é possível extrair:

  • A imagem do produto de .search-card-e-slider__img
  • A descrição do produto de .search-card-e-title
  • A faixa de preço do produto de .search-card-e-price-main
  • A empresa/fabricante de .search-card-e-company

No loop for, traduza essas informações em lógica de extração:

img_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-slider__img")
img = img_element.get_attribute("src")

description_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-title")
description = description_element.text.strip()

price_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-price-main")
price = price_element.text.strip()

company_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-company")
company = company_element.text.strip()

find_element() recupera o único elemento que corresponde ao seletor CSS fornecido. Em seguida, você pode acessar seu conteúdo de texto com o atributo text. Para obter o valor do atributo HTML de um nó, use o método get_attribute().

Use os dados coletados para preencher um dicionário de produtos e adicioná-lo à matriz de produtos:

produto = {
    "img": img,
    "description": description,
    "price": price,
    "company": company
}
produtos.append(produto)

Fantástico! A lógica de extração de dados do Alibaba está completa.

Etapa 7: Exporte os dados coletados para CSV

Atualmente, seus dados coletados estão armazenados na matriz de produtos. Para torná-los acessíveis e compartilháveis com outras pessoas, você precisa exportá-los para um formato legível, como um arquivo CSV.

Utilize o código a seguir para criar e preencher um arquivo CSV com os dados coletados:

csv_file_name = "products.csv"

with open(csv_file_name, mode="w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=["image", "description", "price", "company"])

    # escreva a linha do cabeçalho
    writer.writeheader()

    # escreva as linhas de dados do produto
    for product in products:
        writer.writerow(product)

Não se esqueça de importar csv da Biblioteca Padrão do Python:

import csv

Uau! Seu scraper Aliaba está completo.

Etapa 8: Junte tudo

Abaixo está o código final do seu script de raspagem do Alibaba:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import csv

# inicialize uma instância do driver web Chrome
driver = webdriver.Chrome(service=Service())

# a URL da página de destino
url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"

# conecte-se à página de destino
driver.get(url)

# onde armazenar os dados extraídos
produtos = []

# selecionar todos os elementos do produto na página
elementos_do_produto = driver.find_elements(By.CSS_SELECTOR, ".m-gallery-product-item-v2")

# iterar sobre os nós do produto e extrair dados deles
para elemento_do_produto em elementos_do_produto:
    # extrair os detalhes do produto
    img_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-slider__img")
    img = img_element.get_attribute("src")

    description_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-title")
    description = description_element.text.strip()

    price_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-price-main")
    price = price_element.text.strip()

    company_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-company")
    company = company_element.text.strip()

    # criar um dicionário de produtos com os
    # dados extraídos
    product = {
        "img": img,
        "description": description,
        "price": price,
        "company": company
    }

    # adicionar os dados do produto à matriz
    products.append(product)

# definir o nome do arquivo CSV de saída
csv_file_name = "products.csv"

# abrir o arquivo no modo de gravação e criar um gravador CSV
with open(csv_file_name, mode="w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=["img", "description", "price", "company"])

    # escreva a linha do cabeçalho
    writer.writeheader()

    # escreva as linhas de dados do produto
    for product in products:
        writer.writerow(product)

# feche o navegador
driver.quit()

Em pouco mais de 60 linhas de código, você acabou de criar um Scraper do Alibaba em Python!

Inicie o Scraper com o seguinte comando:

python3 script.py

Ou, no Windows:

python script.py

Um arquivo products.csv aparecerá na pasta do seu projeto. Abra-o e você verá:

The finals products.csv file with all the data

Et voilà! Missão cumprida. Os próximos passos? Cuide da paginação, implante seu script, automatize sua execução e refine-o ainda mais para obter o desempenho ideal!

Conclusão

Neste tutorial passo a passo, você aprendeu o que é um Scraper do Alibaba e os tipos de dados que ele pode recuperar. Você também viu como criar um script Python para extrair produtos do Alibaba usando menos de 100 linhas de código.

O problema é que o scraping do Alibaba traz desafios. A plataforma emprega medidas anti-bot rigorosas e adota interações como paginação, que tornam o processo de scraping mais complexo. Criar uma solução de scraping do Alibaba escalável e eficaz pode ser bastante exigente.

Esqueça esses desafios com nossa API Alibaba Scraper! Essa solução dedicada permite recuperar dados do site de destino por meio de chamadas de API simples, sem risco de ser bloqueado.

Se o Scraping de dados não é sua abordagem preferida, mas você ainda está interessado nos dados dos produtos, explore nossos Conjuntos de dados do Alibaba prontos para uso!

Crie uma conta gratuita na Bright Data hoje mesmo para experimentar nossas APIs de Scraper ou explorar nossos Conjuntos de dados.