不知道换什么手机?看看买过的怎么说,JD热门手机评论爬取与可视化

2024-06-04 03:18

本文主要是介绍不知道换什么手机?看看买过的怎么说,JD热门手机评论爬取与可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20年初,受疫情影响,各家厂商的手机发布会在4月份如雨后春笋,接踵而至.

买那个手机呢?俗话说群众的眼睛是雪亮的,看看买过的人怎么说.本文主要爬取热门的华为40Pro 与小米10的评论进行分析

首先分析网页结构:

发现有个包含Comment 的请求,看看响应

发现评论就在这里面.每一页是10条

然后看看请求头

URL:

请求方式为GET.

请求参数在最下面:

分析发现,productId 对应不同的商品,score对应不同的评价类型,有全部评论,好评,中评,差评这几个分类.

另外一个需要我们注意的是page,通过分析发现网站最多展示100页的数据,可以采用循环的方式进行遍历.判断如果没有评论内容直接退出就可以了.

因为需要登录.这边使用世界最大同性交友网站的开源模块进行登录

返回的session可以保存到本地,这样不需要重复登录了.

然后就是构建完整的url,请求返回评论数据

数据解析

最后数据保存

修改参数,分别爬取好评与差评.接下来就是数据分析的过程

这里使用pandas,matplotlib,seaborn 这几个包.

import jieba
import wordcloud
import imageio
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
plt.rcParams['font.sans-serif'] = ['SimHei']
%matplotlib inline

读取数据

df = pd.read_csv('comments.csv')
bd_df = pd.read_csv("comments_bad.csv")

发现没有为空的字段

将creationTime 转化成日期字段,并且新增加一个日期的列

df['creationTime'] = pd.to_datetime(df['creationTime'])
df['date'] = df.creationTime.dt.date

首先看看不同日期的评论数

f,ax = plt.subplots(figsize=(10,4))
sns.countplot(df['date'],data=df)
plt.xlabel("日期")
plt.ylabel("评论数量")
plt.title("华为P40Pro 不同日期的评论数",fontsize=20)
plt.xticks(rotation=45)

f,ax = plt.subplots(figsize=(10,4))
sns.countplot(df['productColor'],data=df)
plt.xlabel("颜色")
plt.ylabel("销售量")
plt.title("华为P40Pro 不同颜色的销售量",fontsize=20)

f,ax = plt.subplots(figsize=(10,4))
sns.countplot(df['productSize'],data=df)
plt.xlabel("规格配置")
plt.ylabel("销售量")
plt.title("华为P40Pro 不同规格配置的销售量",fontsize=20)

最后看看用户评论的关键词有哪些,使用jieba,wordcloud模块做词云

comments_list = df['content'].values.tolist()
[i.strip() for i in comments_list]
comments_str = "".join(comments_list)
txtlist = jieba.lcut(comments_str)
string = " ".join(txtlist)
mk = imageio.imread("star.png")
w = wordcloud.WordCloud(mask=mk)w = wordcloud.WordCloud(width=1000,height=700,background_color='white',font_path='C:\Windows\Fonts\simfang.ttf',mask=mk,scale=15)
w.generate(string)
w.to_file('P40Pro.png')

如图所示,基本与发布会上所宣传的亮点是对应的.拍照毫无疑问是最大的亮点.

另外对差评也做了一个词云

有吐槽拍照的,吐槽音效的,还有大挖孔,续航这些等等.

小米10的我就不上代码了,代码跟上面是一致的,修改一下参数就可以了,直接上图:

好评词云:

差评词云:

由于网站只能显示100页的数据,数据量只有接近1000条左右.数据量还是有点小,分析结果就是这样.看了这些,你知道换什么手机了吗?如果想了解其他的手机,可以将PproductID这个参数换成你想要了解的手机ID,就可以了.

 

这篇关于不知道换什么手机?看看买过的怎么说,JD热门手机评论爬取与可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028915

相关文章

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件