本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于菜鸟学Python数据分析 ,作者小dull鸟

前言

如今,关于iPhone12和华为mate40哪个好的争论不断,新浪科技发布一条关于“iPhone12和华为Mate40你选谁?”的投票,结果如下:

通过上图可以看出,选华为的占56%,选苹果的占23.74%,还有11%的人都不选、4%的人看到实物再选、5%的人都想要

为了进一步挖掘数据,我爬了该条微博的评论数据,并制作词云图,看看大家都在说什么

具体步骤如下:

1.分析微博评论数据接口

在微博移动端打开该条微博(因为移动端数据相对好爬),抓包获取数据接口:

返回的数据接口为json格式

再来看看url规律,第1、2、3页评论数据的url分别为:

1.https://m.weibo.cn/comments/hotflow?id=4559868490418275&mid=4559868490418275&max_id_type=0
2.https://m.weibo.cn/comments/hotflow?id=4559868490418275&mid=4559868490418275&max_id=140496174237721&max_id_type=0
3.https://m.weibo.cn/comments/hotflow?id=4559868490418275&mid=4559868490418275&max_id=139259223284570&max_id_type=0

我们可以发现,除了第一页格式唯一,其他的都相对固定,且id和mid的参数值固定,变化的为max_id参数

经过分析,当页的max_id参数在上一页的返回数据中,例如,第二页的max_id在第一页的返回数据中:

2.写爬虫代码

这里要注意一点,爬虫中要加入登录后的cookie值,否则只能返回第一页数据,具体代码如下:

import requests
import json
import re
import pandas as pd
url='https://m.weibo.cn/comments/hotflow?id=4559868490418275&mid=4559868490418275&max_id_type=0'
headers={'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
cookie={'Cookie':'换成自己的cookie'}
comments=[]
for i in range(50):response=requests.get(url,headers=headers,cookies=cookie)results=json.loads(response.text)max_id=results['data']['max_id']datas=results['data']['data']patter=re.compile(r'(.*?)<',re.S)for data in datas:if '<' in data['text']:text=re.findall(patter,data['text'])[0]else:text=data['text']comments.append(text)url='https://m.weibo.cn/comments/hotflow?id=4559868490418275&mid=4559868490418275&max_id={0}&max_id_type=0'.format(max_id)

结果如下:

3.将评论数据连成字符

content=''.join(comments)

4.使用jieba分词,去除单个字符和换行符

segment = []
segs = jieba.cut(content)   # 使用jieba分词
for seg in segs:if len(seg) > 1 and seg != '\r\n':segment.append(seg)

5.对文本去噪

words_df = pd.DataFrame({'segment': segment})
words_df.head()
stopwords = pd.read_csv("stopword.txt", index_col=False,quoting=3, sep='\t', names=['stopword'], encoding="utf8")
words_df = words_df[~words_df.segment.isin(stopwords.stopword)]

这一步主要是把没用的词语和词语去除掉,‘stop.txt’获取方式在文末

6.对剩下的词语按组计算个数,并按个数大小进行排序

words_stat = words_df.groupby('segment').agg(count=pd.NamedAgg(column='segment', aggfunc='size'))
words_stat = words_stat.reset_index().sort_values(by="count", ascending=False)

7.自定义词云背景,设置字体样式

bimg = imread('mangguo.jpg')
wordcloud = WordCloud(background_color="white", mask=bimg, font_path='AdobeHeitiStd-Regular.otf')
wordcloud = wordcloud.fit_words(dict(words_stat.head(990000).itertuples(index=False)))

这一步若出错,请把font换成电脑中已有的字体

8.从背景图片生成颜色值

bimgColors = ImageColorGenerator(bimg)
plt.axis("off")
plt.imshow(wordcloud.recolor(color_func=bimgColors))

9.生成词云图

wordcloud.to_file("iphoneVShuawei.png")

10.成果图

从词云图中可以看出,大家还是比较支持华为的,同时还有不少人表示都太贵、买不起。

iPhone12和华为mate40哪个好?看看网友们怎么说相关推荐

  1. 华为商城 删除订单_顶级对决!iPhone12开售排队 余承东暗讽苹果!iPhone12和华为Mate40你选哪个?...

    阅读本文前,请您先点击上面"蓝色字体"再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注.图文来自网络,如有侵权请 ...

  2. 华为Mate40和iPhone12网络舆情传播数据分析报告

    10月22日20时,华为举行全球新品线上发布会,推出新一代旗舰华为Mate40系列,其中包括Mate40.Mate40 Pro.Mate40 Pro +和Mate40 RS保时捷版四款手机.华为消费者 ...

  3. 华为mate40和苹果12参数对比 华为Mate40和iPhone12哪个好-更值得入手

    华为mate40和苹果12两款手机作为年度最受期待的手机之一,在手机的参数配置上也有各的优点和缺点,今天我们抛开手机的参数配置从其他的方面来看看这两款手机的优缺,哪款手机更值得入手. 以下就是为带来华 ...

  4. 转转集团:二手市场iPhone12夺5G销冠 华为Mate40 Pro最保值

    7月5日消息,转转集团对外发布<2021年二季度手机行情报告>(以下简称Q2转转集团手机行情),详解该季度度国内手机市场行情走势.数据显示,二季度的新机市场,国内智能5G手机出货量保持增长 ...

  5. 手机摄像头驱动_华为Mate40和iPhone12换机潮下的手机摄像头行业“三剑客”横评:舜宇光学、欧菲光、丘钛科技...

    作者 | 韦三甲 流程编辑 | 小白 " 此前智能手机陷入了销售疲软的困境,但是随着5G网络的覆盖,华为Mate40和iPhone12的火热,都预示着换机潮的来袭. " 前段时间, ...

  6. 华为鸿蒙新机预测价格,鸿蒙操作系统亮点华为Mate40新机,华为Mate30黯然降价网友欢呼...

    有媒体透露了华有关为Mate40的配置和设计,网友们也表示非常期待!让我们来谈谈这款手机的亮点!第一大亮点无非是首款麒麟1020处理器.目前,华为Mate40也是首款搭载麒麟1020处理器已经确定,麒 ...

  7. 华为仿苹果字体_华为mate40系列再次霸榜DXO,网友:无敌是多么寂寞

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注. 声明:本文转载自网络,如有侵权,请在后台留言联系我 ...

  8. 余承东嘲讽苹果:iPhone 12落后华为Mate40两代

    昨晚,华为正式推出了年度旗舰Mate40系列手机,跟之前曝光的几乎一样,6.76寸OLED屏,正面依然是88°超曲环幕屏,后置星环形状的徕卡四摄,其它就是一些细节上的区别. 欧洲市场上的定价:Mate ...

  9. 2020下半年新机最新消息_2020下半年3款重磅新机:三星Note20被吹爆,华为Mate40差点意思...

    原标题:2020下半年3款重磅新机:三星Note20被吹爆,华为Mate40差点意思 2020年迈向年中,大部分手机厂商上半年的旗舰机已经上市,不知大家是否满意?没有也不用着急,对于想入手旗舰机的小伙 ...

最新文章

  1. 读取ppt并存入数据库_[导入]实时数据库理论与技术演讲PPT
  2. Express engine 学习笔记 - app.engine 的使用方法
  3. k64 datasheet学习笔记12---System Integration Module (SIM)
  4. #{}不自动改参数类型_如何在不刷新页面的情况下改变URL
  5. SpringBoot 配置文件bootstrap和application的区别
  6. ElementUI table组件,表格组件,单击单元格可编辑逻辑
  7. hp380g5 安装linux7,hp 380G5 安装centos 7
  8. Android WebView 问题总集
  9. oracle怎么不让别的电脑连接,[转载]修改计算机名字导致oracle连接不上的解决方案...
  10. bzoj 2627: JZPKIL [伯努利数 Pollard-rho]
  11. bzoj1218[HNOI2003]激光炸弹
  12. Facebook开源软件列表
  13. 浅探PWM整流器的开环整流模式
  14. VUE+audio实现前端消息提示音效
  15. Cent OS 7上安装MySQL
  16. 炫酷恶趣强大的制作神器小程序源码_支持多种流量主模式
  17. [Swift]语言介绍
  18. HTML旅游网站设计与实现——东江湖旅游网站6个网页HTML+CSS+JavaScript
  19. 朴素贝叶斯算法:实现邮件分类
  20. 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记

热门文章

  1. Java毕业设计实战之book小说阅读系统的实现
  2. html5置顶按钮如何添加,WordPress如何自定义文章开启置顶按钮?
  3. openkruise 缩容_OpenKruise - 云原生应用自动化引擎正式开源
  4. 无符号整数除法器:16位除8位
  5. 什么是物联网?常见IoT 物联网协议最全讲解——基础知识
  6. 网络IO之NIO的演变过程
  7. “刘畊宏女孩”看过来,宅家神器极米投影仪RS Pro 2让运动更畅快
  8. 视频太大了怎么弄小一点
  9. 智慧医疗与医疗物联网系统整体解决方案
  10. MyEclipse8.6 MyEclipse注册 破解