【python大作业/爬虫实战】——基于vivo的手机数据采集+可视化+情感分析(附完整代码)

在当今大数据时代,网络数据挖掘与分析已成为企业决策和产品优化的重要依据。本文将详细介绍如何通过Python爬虫技术采集vivo官网手机数据及用户评论,并进行数据清洗、可视化分析和情感分析的全过程。本教程适合有一定Python基础,对数据分析和网络爬虫感兴趣的读者。

> 本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

一、项目概述

1.1 项目目标

  1. 采集vivo官网所有手机型号的基本信息(商品名称、价格、型号等)

  2. 采集各型号手机的用户评论数据

  3. 对采集的数据进行清洗和处理

  4. 进行可视化分析,发现产品特点和用户偏好

  5. 对评论数据进行情感分析,了解用户满意度

1.2 技术栈

  • 爬虫框架:Requests

  • 数据处理:Pandas + NumPy

  • 数据可视化:Matplotlib + Seaborn

  • 情感分析:SnowNLP + Jieba

  • 数据保存:csv

pip install requests pandas numpy matplotlib seaborn pyecharts snownlp jieba

3. 采集字段

手机基本信息字段表
字段名数据类型说明示例值
商品名称String手机型号全称vivo Y300i 8GB+256GB 墨玉黑
售价Float人民币价格(单位:元)6499.0
商品简介String产品简短描述全面抗摔金刚盾玻璃|6500mAh超薄蓝海电池|多场景NFC
详情页String产品详情页URLurl
评论数据字段表
字段名数据类型说明示例值
用户名String评论用户昵称"数码爱好者"
用户等级Integer官网用户等级标识普通会员/白银会员...
评分Float用户打分(通常1-5分)5
点赞数Integer该评论获得的点赞数量1
发布时间DateTime评论发表时间2025-03-27
评论内容String用户评价文本"拍照效果惊艳,夜拍能力超出预期!"

二、数据采集

2.1 分析目标网站

首先我们需要分析vivo官网的结构,确定数据所在的位置。通过浏览器开发者工具(F12)可以观察到:

数据的接口都是异步加载的API接口

2.2 采集思路

首先采集所有的手机基本信息数据,然后提取商品名称、售价、商品简介和详情页。

最主要的是 获取 relaSpuId,然后进行对每一种机型的评论数据进行采集

通过上述采集好所有机型 relaSpuId 列表。通过循环进行所有机型的评论采集

2.3 数据存储

该项目的数据存储都保存为csv的格式

2.4 结果展示

手机基本信息采集了一百多条

大约采集了近七万条评论数据

三、情感分析

SnowNLP 是一个专为处理中文文本设计的 Python 库,基于自然语言处理技术,提供了多种功能,包括分词、词性标注、情感分析、文本转换(简繁转换)、关键词提取、摘要生成等。其核心优势在于对中文文本的处理能力,尤其是情感分析功能。


SnowNLP 的情感分析功能基于一个预训练的模型,能够判断文本的情感倾向是正面还是负面。情感分析的结果是一个介于 0 到 1 之间的浮点数,分数越接近 1,表示文本的情感倾向越正面;分数越接近 0,表示文本的情感倾向越负面。

由于snlp原始是用购物类的数据进行训练得到的模型,然后这次的数据手机购物评论数据,因此该项目就不自主进行模型的学习和训练

from snownlp import SnowNLP
import time

def process1(x):
    score = SnowNLP(x).sentiments
    return score
     
df_ = df1['评论内容'].drop_duplicates().to_frame().reset_index(drop=True)

df_['情感得分'] = df_['评论内容'].apply(process1)

基于情感得分绘制得分发布直方图,看出跟官网评论一致,好评居多,但是并没有达到99%那么夸张,只是达到了85%

四、代码

(一)项目代码

<如果您对源码(爬虫+可视化+情感分析)感兴趣(不白嫖)迪迦,可以在评论区留言(主页 \/)伪善,我会根据需求提供指导和帮助>

(二)可视化代码

1  Vivo 不同系列产品价格统计

vivo手机主要覆盖中端市场(1000-4000元),X系列和S系列是主力产品线

2  Vivo 不同系列产品最高价排行榜

3  vivo 评论用户等级分布情况

4  Vivo 手机评论数量时间变化趋势

5  评论词云

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值