使用python爬取亚马逊商品,爬取商品的标题,价格,链接,店铺,将返回值放在一个列表中
时间: 2024-04-07 22:29:30 浏览: 131
好的,我可以为您编写一个爬取亚马逊商品信息的 Python 程序。这里需要使用到 requests 和 BeautifulSoup 库,您需要提前安装这两个库,可以通过以下命令进行安装:
```
pip install requests beautifulsoup4
```
接下来,您可以使用以下代码来实现您的需求:
```python
import requests
from bs4 import BeautifulSoup
def get_amazon_products(keyword):
# 构造请求 URL
url = f"https://www.amazon.com/s?k={keyword}"
# 发送 GET 请求
response = requests.get(url)
# 解析 HTML 页面
soup = BeautifulSoup(response.text, "html.parser")
# 查找商品列表
results = soup.find_all("div", {"data-component-type": "s-search-result"})
# 遍历商品列表,提取相关信息
products = []
for result in results:
# 提取商品标题
title = result.find("h2").text.strip()
# 提取商品价格
price_element = result.find("span", {"class": "a-offscreen"})
if price_element is None:
price = "N/A"
else:
price = price_element.text.strip()
# 提取商品链接
link = result.find("a", {"class": "a-link-normal"})["href"]
link = f"https://www.amazon.com{link}"
# 提取店铺名称
seller = result.find("span", {"class": "a-size-base", "dir": "auto"}).text.strip()
# 将商品信息添加到列表中
products.append({
"title": title,
"price": price,
"link": link,
"seller": seller,
})
return products
```
这个函数接受一个关键字作为参数,返回一个包含多个商品信息的列表。您可以通过调用这个函数来实现您的需求,例如:
```python
products = get_amazon_products("iphone")
print(products)
```
这将输出一个包含多个 iPhone 商品信息的列表,每个商品信息包含标题、价格、链接和店铺名称。
阅读全文