我想抓取一下淘宝天猫平台上的某一个商品的评论信息,大家有现成的代码吗,可以分享一下。我自己太菜,写了一个抓取的却是空的,也不知道问题在哪里,大家来帮我看看。
import requests
from bs4 import BeautifulSoup
import pandas as pd
def fetch_comments(url):
# 发送HTTP请求获取网页内容
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'}
response = requests.get(url, headers=headers)
response.raise_for_status() # 检查请求是否成功
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 这里需要根据淘宝或天猫的评论页面结构来解析数据
# 以下是一个假设的解析过程,实际情况需要调整
comments = []
for comment_element in soup.select('.comments--vOMSBfi2 beautfy-scroll-bar'): # 假设评论内容在class为comment-content的元素中
print(comment_element)
username = comment_element.select_one('.userName--mmxkxkd0').text.strip() # 假设用户名在class为username的元素中
comment_time = comment_element.select_one('.meta--TDfRej2n').text.strip() # 假设评论时间在class为comment-time的元素中
comment_text = comment_element.select_one('.content--FpIOzHeP').text.strip() # 假设评论文本在class为comment-text的元素中
comments.append({
'用户名': username,
'评论时间': comment_time,
'评论内容': comment_text
})
# 将数据保存到Excel文件中
df = pd.DataFrame(comments)
df.to_excel('评论.xlsx', index=False)
if __name__ == '__main__':
# 输入淘宝或天猫商品的详情页地址
url = input('请输入商品详情页地址: ')
fetch_comments(url)