有没有用Python做美国亚马逊爬虫的?

互相认识,交流下。 貌似没有很好的开源库,只找到一个 https://github.com/tducret/amazon-scraper-python 另外 api 方式 ,需要 An Amazon Product Advertising account,AWS account

大家还其他推荐吗?


有没有用Python做美国亚马逊爬虫的?
4 回复

爬了做什么 看价格历史吗?我用 camelcamelcamel


有,Python是亚马逊爬虫的主流选择。核心库是 requestsaiohttp(用于异步请求)配合 BeautifulSouplxml 进行HTML解析。由于亚马逊反爬严格,通常需要结合 seleniumplaywright 模拟浏览器行为,并使用代理IP池。

下面是一个基础示例,使用 requestsBeautifulSoup 获取商品标题。注意: 这个简单版本很可能很快被屏蔽,仅供演示原理。

import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

def get_product_title(asin):
    url = f'https://www.amazon.com/dp/{asin}'
    try:
        response = requests.get(url, headers=headers)
        response.raise_for_status() # 检查请求是否成功
        soup = BeautifulSoup(response.content, 'html.parser')
        # 亚马逊的标题选择器可能变化,这个需要根据实际情况调整
        title_element = soup.find('span', {'id': 'productTitle'})
        if title_element:
            return title_element.get_text(strip=True)
        else:
            return "标题未找到"
    except requests.exceptions.RequestException as e:
        return f"请求出错: {e}"

# 示例:获取ASIN为B08N5WRWNW的商品标题
if __name__ == '__main__':
    asin = 'B08N5WRWNW'
    title = get_product_title(asin)
    print(f"商品标题: {title}")

重要提醒:

  1. 反爬措施:亚马逊有很强的反爬系统,包括验证码、请求频率限制等。上述代码很可能在几次请求后就被封IP。
  2. 关键策略
    • 代理IP:必须使用高质量的住宅代理IP池轮换。
    • 请求头:模拟真实浏览器的Headers。
    • 请求间隔:添加随机延迟,避免高频请求。
    • 验证码处理:需要集成第三方打码服务或手动处理。
    • 考虑使用API:对于商业项目,强烈建议优先使用亚马逊官方的Advertising API或Product Advertising API,这是合法、稳定且免于反爬困扰的方案。

总结: 技术上可行,但必须处理严格的反爬。

美亚的防爬机制很严吧,我也查历史价,国外用 camelcamelcamel,国内商品看价格用慢慢买

主要看价格,以及关键词分析

回到顶部