在数据驱动决策的时代,电商平台的海量数据至关重要。然而,像亚马逊这样的巨头构建了反爬虫防线,如 IP 封锁、CAPTCHA 验证和浏览器指纹识别,常规工具往往难以应对。
一、Web Unlocker API 简介
Web Unlocker 使用代理基础设施,包含请求管理、浏览器指纹伪装和内容验证三个主要组件。它能自动处理网站解锁操作,包括 CAPTCHA 验证、浏览器指纹识别、自动重试及选择合适的请求头和 Cookies。与常规代理服务不同,Web Unlocker API 只需发送一个包含目标网站的 API 请求,系统就会返回干净的 HTML/JSON 响应。后台智能算法会无缝管理寻找最佳代理网络、定制请求头、指纹处理和 CAPTCHA 验证等动态过程。
二、开始使用 Web Unlocker API
1. 进入控制台页面
点击左侧第一个 tab 键'代理 & 抓取基础设施',找到'网页解锁器',开始使用。
2. 创建通道
进入网页解锁器页面后,填写通道名称,添加简短描述,点击添加。
3. 查看详细信息
界面将展示代理基础设施的详细信息、配置信息及代码示例。
4. 配置网页解锁器
针对高难度网站进行自动化抓取,利用动态住宅 IP 解决 CAPTCHA,渲染 JS,使用自定义指纹和 Cookies。
5. Python 脚本获取亚马逊平台数据示例
(1)定位具体数据 进入亚马逊平台搜索关键词,复制网页地址链接。例如搜索'gaming',页面包含电脑相关产品、价格等信息。
(2)编写 Python 代码 代码中需修改为已配置好的 Web Unlocker 凭证信息,如主机、端口、用户名和密码。
import requests
from bs4 import BeautifulSoup
import pandas as pd
import warnings
# 忽略 SSL 警告
warnings.filterwarnings('ignore', message='Unverified HTTPS request')
# 您的 Bright Data 凭证
customer_id = "YOUR_CUSTOMER_ID"
zone_name = "web_unlocker3"
zone_password = "YOUR_PASSWORD"
# 代理设置
proxy_url = "brd.superproxy.io:33335"
proxy_auth = f"brd-customer-{customer_id}-zone-{zone_name}:{zone_password}"
proxies = {
"http": f"http://{proxy_auth}@{proxy_url}",
"https": f"http://{proxy_auth}@{proxy_url}"
}
target_url =
headers = {
: ,
: ,
: ,
: ,
:
}
:
()
response = requests.get(target_url, proxies=proxies, headers=headers, verify=)
()
(, , encoding=) file:
file.write(response.text)
()
soup = BeautifulSoup(response.text, )
search_results = []
product_cards = soup.select()
()
card product_cards:
asin = card.get()
:
title_element = card.select_one()
title = title_element.text.strip() title_element
price_element = card.select_one()
price = price_element.text.strip() price_element
rating_element = card.select_one()
rating = rating_element.text.strip() rating_element
reviews_element = card.select_one()
reviews = reviews_element.text.strip() reviews_element
search_results.append({
: asin,
: title,
: price,
: rating,
: reviews,
:
})
()
Exception e:
()
search_results:
df = pd.DataFrame(search_results)
df.to_csv(, index=, encoding=)
()
()
(df.head().to_string())
:
()
Exception e:
()


