📅  最后修改于: 2023-12-03 14:57:04.042000             🧑  作者: Mango
网页抓取是指通过程序自动获取互联网上的数据,并将其保存或进一步处理。在本文中,我们将介绍如何使用程序进行亚马逊客户评论的网页抓取,并返回Markdown格式的内容。
为了完成亚马逊客户评论的网页抓取,我们可以选择以下技术栈:
import requests
from bs4 import BeautifulSoup
import mistune
url = 'https://www.amazon.com/product-reviews/PRODUCT_ID'
response = requests.get(url)
html_content = response.text
请将PRODUCT_ID
替换为实际产品的ID。
soup = BeautifulSoup(html_content, 'html.parser')
reviews = soup.find_all('div', class_='a-section review aok-relative')
for review in reviews:
title = review.find('a', class_='review-title').text.strip()
rating = review.find('span', class_='a-icon-alt').text.strip()
body = review.find('span', class_='review-text-content').text.strip()
markdown_content = f"## {title}\n\n**Rating:** {rating}\n\n{body}\n\n---\n"
print(markdown_content)
以上代码会提取评论的标题、评分和内容,然后将其转换为Markdown格式。
markdown = mistune.Markdown()
html = markdown(markdown_content)
print(html)
我们可以选择将Markdown格式的内容转换为HTML格式,以便在其他应用中显示。
下面是一个完整的示例代码,展示了如何获取亚马逊客户评论并将其转换为Markdown格式:
import requests
from bs4 import BeautifulSoup
import mistune
def scrape_amazon_reviews(product_id):
url = f'https://www.amazon.com/product-reviews/{product_id}'
response = requests.get(url)
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')
reviews = soup.find_all('div', class_='a-section review aok-relative')
markdown = mistune.Markdown()
for review in reviews:
title = review.find('a', class_='review-title').text.strip()
rating = review.find('span', class_='a-icon-alt').text.strip()
body = review.find('span', class_='review-text-content').text.strip()
markdown_content = f"## {title}\n\n**Rating:** {rating}\n\n{body}\n\n---\n"
print(markdown_content)
html = markdown(markdown_content)
print(html)
通过以上步骤,我们可以实现亚马逊客户评论的网页抓取,并将抓取到的评论内容转换为Markdown格式。通过这些评论数据,我们可以进一步进行分析、展示或存储。此外,可以结合其他技术,如数据库或自然语言处理,来更好地利用这些评论数据。