使用Python和BeautifulSoup抓取亚马逊的商品信息

亿牛云代理

Beautiful Soup 是一个 Python 库,可让您轻松地从 HTML 页面中提取数据。它可以使用各种解析器解析 HTML,例如内置的 Python 解析器、lxml 或 html5lib。 Beautiful Soup 可以帮助您通过标签、属性或文本内容找到特定元素。您还可以使用 .parent、.children 或 .next_sibling 等方法导航 HTML 树结构。 Beautiful Soup 对于网络抓取很有用,因为它可以获取 URL 的内容,然后解析它以提取您需要的信息。例如,您可以使用 Beautiful Soup 从亚马逊网站上抓取商品的标题、价格等信息。

首先安装所需的库:BeautifulSoup、requests和fake-useragent。

pip install beautifulsoup4 requests fake-useragent

下面是demo示例:

from bs4 import BeautifulSoup

import requests

from fake_useragent import UserAgent

# 定义爬取的亚马逊产品页面的URL

url = "https://www.amazon.com/dp/PRODUCT_ID"

# 设置随机UA

ua = UserAgent()

headers = {'User-Agent': ua.random}

# 动态转发隧道代理 使用代理IP提高采集成功率

# 亿牛云 爬虫代理加强版 服务器和用户名、密码认证

proxy_username = '16YUN'

proxy_password = '16IP'

proxy_host = 'www.16yun.cn'

proxy_port = '31000'

# 构造代理IP的格式

proxies = {

    'http': f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}',

    'https': f'https://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'

}

# 发送请求并使用代理IP

response = requests.get(url, headers=headers, proxies=proxies)

soup = BeautifulSoup(response.content, 'html.parser')

# 提取产品信息

title_element = soup.find('span', id='productTitle')

price_element = soup.find('span', class_='price')

description_element = soup.find('div', id='productDescription')

title = title_element.text.strip()

price = price_element.text.strip()

description = description_element.text.strip()

# 打印产品信息

print("标题:", title)

print("价格:", price)

print("描述:", description)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容