如何抓取亚马逊评论:简单快捷的方法!
导言
网络搜刮包括使用自动脚本从网站上提取数据。对于开发人员来说,搜索亚马逊评论可以详细了解客户意见和市场动态,这对于做出明智的商业决策至关重要。
什么是网络抓取?
网页刮擦是一种从网页中收集数据的自动化过程。这些数据可用于各种应用,如市场分析、竞争基准和情感分析。
搜索亚马逊评论的先决条件
在开始搜索亚马逊评论之前,请确保您拥有以下工具和库:
- Python:一种适用于网络搜索的通用编程语言。
- BeautifulSoup:用于解析 HTML 和 XML 文档的 Python 库。
- Requests:一个简单的 HTTP 库,用于向网页发出请求。
- Selenium:浏览器自动化工具,用于处理 JavaScript 渲染的内容和验证码。
- 代理:避免 IP 禁止,并处理大量刮擦任务。
亚马逊评论搜索分步指南
设置环境
首先,使用 pip 安装 Python 和必要的库:
pip install beautifulsoup4 requests selenium pandas
处理登录和验证码
要在登录或处理 CAPTCHA 后抓取评论,可使用 Selenium 自动执行登录流程并绕过 CAPTCHA 挑战。
from selenium import webdriver
from selenium.webdriver.常见.钥匙 import Keys
driver = webdriver.Chrome(executable_path='/path/to/chromedriver') driver.get("https://www.amazon.com/ap/signin")# 自动登录流程 username = driver.find_element_by_id("ap_email") password = driver.find_element_by_id("ap_password") username.send_keys("your_email") password.send_keys("your_password") password.send_keys(Keys.RETURN)
查找和搜索评论
评论标题
要抓取评论标题,可使用 CSS 选择器查找包含标题的元素。
from bs4 import BeautifulSoup
import requests
url = 'https://www.amazon.com/product-reviews/B08N5WRWNW'
headers = {"User-Agent":"Mozilla/5.0"}。
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
titles = [title.text.strip() for title in soup.select(".review-title")]] title.text.strip() for title in soup.select(".review-title")
print(titles)
审查文本
提取评论全文:
文本 = [text.text.strip() for text in 汤遴选(".审查文本")]
print(texts)
审查评级
提取评论评级:
评分 = [rating.attrs['title'] for 在汤中评级。遴选(".审查评级")]
print(评分)
审查日期
提取审查日期:
日期 = [日期.text.strip() for 日期 in 汤遴选(".审查日期")]
print(日期)
处理分页
亚马逊产品评论页面通常有多个页面。要在多个页面上抓取评论,可通过浏览每个页面来处理分页问题。
from urllib。parse import URLjoin
def get_reviews(url): reviews = [] while url: response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') reviews.extend([text.text.strip() for text in soup.select(".review-text")]) next_page = soup.select_one('li.a-last a') url = urljoin(url, next_page.attrs['href']) if next_page else None 返回评论all_reviews = get_reviews('https://www.amazon.com/product-reviews/B08N5WRWNW') print(all_reviews)
将数据导出为 CSV
使用 pandas,您可以将搜刮到的评论数据导出为 CSV 文件。
import pandas as pd
data = {'标题':标题,'文本':文本,'评级':评级,'日期':日期}。
df = pd.DataFrame(data)
df.to_csv('amazon_reviews.csv', index=False)
搜索亚马逊评论的最佳实践
使用代理
使用轮流代理池,以避免被发现和 IP 禁止。 Oxylabs 提供了可靠的代理解决方案,用于搜索亚马逊数据。
模拟人类行为
实施随机延迟、鼠标移动和各种交互模式,以模仿人类行为并避免被发现。
保持更新
亚马逊经常更新 HTML 结构。请定期更新您的刮擦脚本,以适应这些变化并保持刮擦效率。
常见问题
什么是网页抓取?
网络抓取是从网站中提取数据的自动化过程。
网页抓取合法吗?
是的,但必须遵守网站的服务条款,并遵循合乎道德的刮擦做法。
如何避免在搜索亚马逊时被屏蔽?
使用旋转代理,模拟人类行为,并正确管理请求标头。
使用代理的最佳做法是什么?
利用大型轮换代理池,管理会话,避免来自单一 IP 的过多请求。
如何处理亚马逊 HTML 结构的变化?
定期更新搜索脚本,随时了解亚马逊使用的新 HTML 元素和属性。
如需了解更全面的工具和技术,请查阅 Oxylabs 和 Scrapingdog.
只要遵循这些指导原则并利用所提供的代码示例,您就能为自己的项目有效地抓取亚马逊评论,确保高质量和可靠的数据提取。