Python采集亚马逊产品数据

464 阅读2分钟

使用Python采集亚马逊产品数据

亚马逊是一个全球知名的电商平台,很多人都想从中获取产品信息。在这篇文章中,将介绍如何使用 Python 采集亚马逊产品数据,并使用123proxy.cn的代理IP来避免被封IP。

准备工作

在开始编写爬虫代码之前,我们需要准备一些工具:

  1. Python 3:我们将使用 Python 编写爬虫代码。
  2. requests 库:这是一个常用的 Python 库,用于发送 HTTP 请求。
  3. BeautifulSoup 库:这是一个 HTML 解析库,用于从 HTML 页面中提取数据。
  4. 123proxy.cn 的代理隧道代理IP:我们将使用代理 IP 来避免被封 IP。

首先,我们需要安装 requests 和 BeautifulSoup 库:

pip install requests beautifulsoup4

接下来,我们需要获取 123proxy 的隧道代理 IP。我们可以登录 123proxy 的网站,选择需要的代理类型和地理位置,然后购买相应的代理 IP。

例子: 123proxy.cn的动态数据中心代理,美国地域

http_proxy = "http://us.gateway.123proxy.cn:31000"
https_proxy = "http://us.gateway.123proxy.cn:31000"

编写爬虫代码
下面是一个简单的 Python 爬虫代码,用于从亚马逊网站上获取产品的名称、价格和评分。

采集代码

import requests
from bs4 import BeautifulSoup

# 设置代理 IP
proxy = {
    "http": "http://us.gateway.123proxy.cn:31000",
    "https": "http://us.gateway.123proxy.cn:31000"
}

# 设置请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

# 发送请求
url = "https://www.amazon.com/dp/B08P8W37MG"
response = requests.get(url, headers=headers, proxies=proxy)

# 解析 HTML
soup = BeautifulSoup(response.text, "html.parser")

# 获取产品名称
product_title = soup.find(id="productTitle").get_text().strip()
print("Product Title:", product_title)

# 获取产品价格
product_price = soup.find(class_="a-price-whole").get_text().strip()
print("Product Price:", product_price)

# 获取产品评分
product_rating = soup.find(class_="a-icon-star-small").find(class_="a-icon-alt").get_text().strip()
print("Product Rating:", product_rating)

在上面的代码中,我们首先设置了代理 IP,然后设置了请求头。接着,我们使用 requests 库发送 HTTP 请求,并指定了代理 IP。最后,我们使用 BeautifulSoup 库解析 HTML 页面,并从中提取出产品的名称、价格和评分。

总结
在本文中,我们介绍了如何使用 Python 采集亚马逊产品数据,并使用 123proxy 的代理 IP 来避免被封 IP。希望这篇文章对你有所帮助!