热搜第一!微信会员苹果180元、安卓130元?python爬虫看
微信仅支持迁移聊天记录到另一台设备以及备份聊天记录到电脑,如果设备丢失,未及时备份的数据将无法恢复。
所以腾讯拟推出了个人微信云存储付费服务,意味着微信聊天记录可以实现云端备份和恢复。
确定目标
腾讯此业务可能采用按年付费的模式,苹果用户或在180元/年左右,安卓用户或在130元/年左右。
想知道微博上62.8w+网友们是怎么说的吗?
我们一起使用python爬虫获取网友们的
用户id、用户名称、用户座右铭、发帖时间和发帖内容。
网页分析
我们打开微博部分评论如下:
使用快捷键F12打开浏览器开发者模式,找到网页请求的真实链接如下:
可以看到这是一个json格式的数据集。
发送请求
url ='https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id_type=0'
headers = {
'cookie':'SUB=_2A25NyTOqDeRhGeVG7lAZ9S_PwjiIHXVvMl3irDV6PUJbktB-LVDmkW1NT7e8qozwK1pqWVKX_PsKk5dhdCyPXwW1; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WFGibRIp_iSfMUfmcr5kb295NHD95Q01h-E1h-pe0.XWs4DqcjLi--fi-2Xi-2Ni--fi-z7iKysi--Ri-8si-zXi--fi-88i-zce7tt; _T_WM=98961943286; MLOGIN=1; WEIBOCN_FROM=1110006030; XSRF-TOKEN=70a1e0; M_WEIBOCN_PARAMS=oid%3D4648381753067388%26luicode%3D20000061%26lfid%3D4648381753067388%26uicode%3D20000061%26fid%3D4648381753067388',
'Referer':'https://m.weibo.cn/detail/4666743534650015',
'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4573.0 Safari/537.36'
}
resp = requests.get(url, headers=headers).json()
ic(resp)
获取到的网页反馈如下:
可以看到我们已经获取到了我们想要的数据信息
接下来我们要做的就是分析和提取数据
foriteminwb_info:
# 用户id
user_id = item.get('user')['id']
# 作者名称
author = item['user']['screen_name']
#作者座右铭
auth_sign = item['user']['description']
# 发帖时间
time = str(item['created_at']).split(' ')[1:4]
rls_time ='-'.join(time)
# 点赞人数
stars = item.get('like_count')
# 发帖内容
text =''.join(re.findall('[\u4e00-\u9fa5]', item['text']))
print(user_id, author, auth_sign, rls_time, stars, text)
'''
7499620248 Supreme-Aka 渣浪,我DNM的。Sep-04-14:17:22 114092 如果这样那都去支付宝吧反正功能一样的
7197121487 自然·之力 🌏🌖🌞🌌 Sep-04-14:19:27 101693 咱们见
5197759809 妙笔浮生_zero “远赴人间惊鸿宴,一睹人间盛世颜.” Sep-04-14:21:21 59718 逐渐化
6156448424 草莓菠萝蜜儿biubiu 我的秘密花园 Sep-04-15:14:10 38451 都是工作群有什么好云备份的
3193408161 莫奇·D·路飛 渣浪浪 2021年我要中大獎🐂🐄🦬🐮 Sep-04-15:15:58 24023 我是觉得没必要聊天记录放那么久干什么适时断舍离不好吗删除聊天记录也是跟过去告别的一种形式思考
3403647594 你见过没见过的我 外表柔弱,内心汉纸。Sep-04-15:10:05 44363 真的不要点脸了已经太黑了
2442465463 明天加昨天 Sep-04-15:54:40 8455 国家快管管资本又来吸血了
1731696707 纯净如水的男子 活在娱乐圈的艺术博主 Sep-04-15:18:00 7648 这玩意和扣扣刚玩那会不都是免费的吗现在最基本的东西都要收费真尼玛黑我微博的聊天记录多少年前的都还在卸载了多少次手机换了多少部都没事真尼玛扯蛋玩意儿
1792995502 陈昊然 平安喜樂 萬事勝意 Sep-04-15:29:36 7276 去他妈了个巴子的微笑
7152678733 神奇知识点 唯有热爱可抵岁月漫长 Sep-04-15:21:06 3712 我们不保存用户数据只是为了更好收钱
5690739754 吧唧一大口甜草 没有动态的时候都在好好生活和给草儿做数据 Sep-04-15:51:05 2581 天天净搞这些花里胡哨的啥时候好友给别人朋友圈点赞评论能不通知我怒怒
5049723396 冰释时代 做一个温柔的人 Sep-04-15:48:02 958 真不要脸
5842376227 樱桃奶球打烊了 永远会有人正在爱你 Sep-04-16:34:37 708 明明你是绿色的为什么心是黑的
5764542351 販賣洲記櫻花酒_ “在人生的道路上,每个人都是孤独的旅客。” Sep-04-16:01:12 725 都没人聊天哪里来的聊天记录二哈
5633068463 许一鸭 一名技师 Sep-04-15:10:23 749 可以告诉我你们那么爱保存聊天记录的原因吗
5891332208 柑橘调洗洁精 Sep-04-14:45:25 615 有句话说得好没
1974539157 M-fish Sep-04-15:44:21 511 为什么苹果贵
6035386822 甜过strawberry 我是一个小学鸡,但是我特别喜欢帅哥!!!Sep-04-15:58:12 666 寻思腾讯也不缺钱啊怎么这么贪费解
'''
多页获取
因为我们要获取的数据不止一页,所以咱们来接着分析翻页。就从每一页的url开始。
https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id=218431253877967&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id=141877756896912&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id=139678733588789&max_id_type=0
从第二页开始,每个连接的后面都多了一个叫做max_id的参数。
并且这个max_id是跟随页数随机变化的。
通过第一页的链接获取到了第二页的max_id,
然后通过第二页的链接获取到第三页max_id
以此类推,获取到全部数据......
forpageinrange(2,100+1):
url =f'https://m.weibo.cn/comments/hotflow?id=4677708824712370&mid=4677708824712370&max_id={max_id}&max_id_type={max_id_type}'
数据存储
我们使用openpyxl将爬取到的数据保存至Excel文件中,方便我们后续对数据进行处理和可视化操作。
部分数据如下:
词频可视化
这里我们使用熊猫来读取数据,并去除空行。使用jieba制作分词
有兴趣的小伙伴可以参考
评论出现频率最高的前十个词如下:
('聊天记录','微信','收费','什么','苹果','腾讯','付费','手机','功能','备份')
(148,126,89,64,59,58,53,44,43,42)
最大值最小值以及平均值如下:
词云可视化
我们使用stylecloud来绘图,部分代码如下:
有兴趣的小伙伴可以参考:
# 观影评论词云图
wordlist = jieba.cut(''.join(c_title))
result =' '.join(wordlist)
# 设置停用词
stop_words = ['的','了','我','也','要','吧','吗','那','用','就','是','想','在','有','哪','啊','这','你','还','又','见','给','可以','微笑']
pic ='img.jpg'
gen_stylecloud(text=result,
icon_name='fas fa-couch',
font_path='msyh.ttc',
background_color='white',
output_name=pic,
custom_stopwords=stop_words
)
print('词云图绘制成功!')
评论点赞最多
# 最多点赞数
max_star = pd_data[pd_data['点赞人数'] == pd_data['点赞人数'].max()]
print(max_star)
'''
用户id 作者名称 作者座右铭 发帖时间 点赞人数 发帖内容
7499620248 Supreme-Aka 渣浪,我DNM的。 Sep-04-14:17:22 114233.0 如果这样那都去支付宝吧反正功能一样的
'''
情感分析
我们以点赞最多评论为例分析观众对微信收费情感进行简单分析
我们是使用的库是SnowNLP
SnowNLP是一个基于Python的情感分析工具库,可以进行中文分词、词性标注、情感分析、文本分类、文本关键词提取等。
SnowNLP的情感值取值范围为0到1之间,值越大,说明情感倾向越积极。
# 情感分析
pinglun ='如果这样那都去支付宝吧反正功能一样的'
Sentiment_analysis = SnowNLP(pinglun).sentiments
'''
0.36684460059404056
'''
得到的情感值为 0.36684460059404056,情感值较低,说明大多用户对微信收费此举还是不认可的,甚至出现排斥!
不少网友
对这个功能表示不感冒
也有网友表示
其他软件已有类似功能,而且免费
部分网友质疑了
不同系统不同费用的合理性
对此,你有什么看法?