此次疫情会大规模暴发吗, python爬虫来看看一亿网友们都在担心啥?

本文主要是介绍此次疫情会大规模暴发吗, python爬虫来看看一亿网友们都在担心啥?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小编从新闻上了解到。截至目前,7月全国累计报告新增本土确诊病例328例,接近此前5个月总和。

已有14个省份报告新增本土确诊病例或无症状感染者。

图片

并且这两天“此次疫情会大规模暴发吗”也登上了微博热搜,引起了众多网友们的关注。

我们今天就来使用爬虫来分析一下1.2亿网友们是如何看待此次大规模爆发的疫情的。

图片

目标确定

所以我们今天就把10000个网友的微博评论使用爬虫下载下来,看看大家都说了些什么?

图片

需求分析

我们要获取的数据如有微博评论下的

用户id、用户名称、用户座右铭、发帖时间和发帖内容。

首先我们F12打开浏览器开发者模式:

图片

目标url如下:

https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&max_id_type=0

为防止被反爬,我们还需添加headers模拟浏览器发送请求

图片

我们用浏览器打开链接,发现这是一个标准的json格式的数据集,

我们所要的数据都在这个json数据里面

图片

所以第一步,先模拟浏览器获取这个json格式的数据集。

发送请求

请求代码如下:

  url = 'https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&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': 'Referer: https://m.weibo.cn/detail/4665088419561949','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()print(resp)

结果打印如下:

图片

解析页面‍‍‍‍‍‍‍‍‍

上一步已经成功模拟浏览器获取到了数据。

接下来就是如何在其中提取出我们的目标数据

  for item in wb_info:user_id = item.get('user')['id']  # 用户idauthor = item['user']['screen_name']  # 作者名称auth_sign = item['user']['description']  # 作者座右铭time = str(item['created_at']).split(' ')[1:4]rls_time = '-'.join(time)  # 发帖时间text = ''.join(re.findall('[\u4e00-\u9fa5]', item['text']))  # 发帖内容print(user_id, author, auth_sign, rls_time, text)'''3148844394 南橘北枳绵绵 放屁大师。Jul-31-18:27:18 我觉得如果能及时控制住应该不会5502454213 女拳就是资本帮凶 (*๓´╰╯`๓)♡ Jul-31-18:27:25 南京当局的锅摊手5092715365 赴烟 不入流的制作人/Beatmaker Jul-31-18:28:01 烦人的疫情你打乱了多少人接下来的计划7447341249 郭巨侠0821 我是利物浦太太 刘雨昕是大魔王 Jul-31-18:29:34 最大的特点就是南京不拘一格的防控行为真是让人大开眼界叹为观止1320464142 CascCaltChen_亮 西瓜大籍,航天民工,3C认证。Jul-31-18:34:21 南京当然不会大爆发毕竟有江苏的财力科技医疗撑着呢也因此他们直到昨天依然我行我素不以为然但南京以一己私利而拖延上报模糊发布信息未及时公开德尔塔变种已经导致全国延误战机南京政府在大局意识全国一盘棋国家总体安全观方面已经严重失职严重渎职严重失责铸成大错5994723367 柠檬冰霸 关注全球疫情,疫情不散,我们不见…!!!Jul-31-18:28:01 南京领导不出来说说话吗6334640602 YueU_e /镇魂 Jul-31-18:27:42 南京政府能不能学学广东2973646350 柚子啊吖啊 想做什么做什么 Jul-31-19:36:54 南京为什么不能骂不是南京的错难道是我的错长沙好好的生活突然被打乱了我每天就想骂了咋了6507146619 宇宙星辰05 心在一起才是朋友 Jul-31-18:33:45 今天看到新闻郑州卫健委主任被免职因为郑州今天发现本土疫情而江苏省卫健委主任南京市卫健委主任好像没有受到疫情牵连这是为什么呢1939099823 与速哥同在  Jul-31-18:32:05 疫情就像一面照妖镜看出了各地政府处理突发疫情的能力在当前境外输入疫情防控严峻的情况下关乎老百姓生死的大事上竟然出现这么大漏洞中央应派督察组医疗专家组帮助有疫情的省份尽快核查疫情源头及时控制疫情扩散防止大规模爆发毁了全国来之不易的抗疫成果1887893173 成成成TC成爷 🎬待映《夏日友晴天》《黑寡妇》《密室逃生2》《丛林奇航》《失控玩家》《尚气》《毒液2》《007:无暇赴死》《永恒族》《蜘蛛侠3:英雄无归》…… Jul-31-18:33:08 但凡南京加强管控也不至于让新冠有可乘之机造成现在这种遍地开花的局面只能亡羊补牢了裂开裂开裂开裂开裂开裂开希望南京领导出来跟全国人民道歉坚信此次疫情可以及时控制住心心心1644642397 yumei1226  Jul-31-19:04:26 疫情是机场的锅但是要明白防疫过程中各种迷之操作出自南京政府1841452703 木昜DAISY “长安区杀人微笑”称号终身成就获得者. Jul-31-19:35:24 还会不会难道到去年年初武汉的程度才叫大规模爆发全国各地都发现了多少人的生活工作都受影响了这还不叫爆发5546301257 橘子伟盫 天秤座完美的诠释 Jul-31-20:00:26 看下这个热搜吧德尔塔毒株或导致更严重疾病希望客观解释下什么是可以通过接种疫苗的人传播并且可能导致更严重疾病不然细思极恐啊允悲1412442291 我搞的CP都能HE 雞總書粉 Jul-31-18:34:12 南京要负责任1681792584 _是郭小姐叭· /易燃易爆炸/熱愛可抵歲月漫長🌟 Jul-31-18:44:49 南京為什麼不抄廣東作業我們廣佛深莞當時反應很迅速就一個月前啊允悲7044639541 百亩森林在逃主人公 你愿意陪伴的话我们慢慢来 Jul-31-18:28:46 最难的时候都过去了现在一定也能过去1773674637 JunvyLee 转身一个三分波 Jul-31-19:05:40 我想现在南京领导班子看到张家界的局面应该会窃喜成功转移关注度而且自己南京也貌似控制住啦我真的服了这堆领导2966832950 XXXTENTAC10N ,, Jul-31-19:28:50 不好说之前普通型就把武汉折磨够呛这次是更厉害的德尔塔很多人有点麻木了都不戴口罩了很难说有可能还会有过之还无不及6735986866 Real-XIAOYU 做一个小有名气儿的打工仔儿 Jul-31-18:28:12 感觉他们都好不重视啊'''

数据成功获取!

因为我们要获取的数据不止一页,所以咱们来接着分析翻页。就从每一页的url开始。

https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&max_id=323846159351000&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&max_id=159331733201157&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4665088419561949&mid=4665088419561949&max_id=144625766715290&max_id_type=0

从第二页开始,每个连接的后面都多了一个叫做max_id的参数。

并且这个max_id是跟随页数随机变化的。

那现在问题就变成了如何获取max_id

图片

通过第一页的链接获取到了第二页的max_id,

然后通过第二页的链接获取到第三页max_id

以此类推,获取到全部数据......

图片

之后接着把内容使用openpyxl保存到Excel文件中,如下图所示。

  ws = op.Workbook()wb = ws.create_sheet(index=0)wb.cell(row=1, column=1, value='用户id')wb.cell(row=1, column=2, value='作者名称')wb.cell(row=1, column=3, value='作者座右铭')wb.cell(row=1, column=4, value='发帖时间')wb.cell(row=1, column=5, value='发帖内容')count = 2wb.cell(row=count, column=1, value=user_id)wb.cell(row=count, column=2, value=author)wb.cell(row=count, column=3, value=auth_sign)wb.cell(row=count, column=4, value=rls_time)wb.cell(row=count, column=5, value=text)ws.save('微博疫情.xlsx')

先来测试50页数据,总共获取到800+测试数据
图片

图片

词云展示

‍‍‍‍‍‍‍‍‍

 rcv_data = pd.read_excel('./微博疫情.xlsx')exist_col = rcv_data.dropna()  # 删除空行c_title = exist_col['发帖内容'].tolist()# 观影评论词云图wordlist = jieba.cut(''.join(c_title))print('wordlist:', wordlist)result = ' '.join(wordlist)print('result:', result)pic = 'img1.jpg'gen_stylecloud(text=result,icon_name='fas fa-comment-dots',font_path='msyh.ttc',background_color='white',output_name=pic,custom_stopwords=['你', '我', '的', '了', '在', '吧', '相信', '是', '也', '都', '不', '吗', '就', '我们', '还', '大家', '你们', '就是', '以后'])print('绘图成功!')

图片

图片

图片

新型冠状病毒爆发(outbreak),如今已被世界卫生组织列为国际关注的突发公共卫生事件。

在这样的情况下,我们应该从自身做起,预防这次新型肺炎。

wear mask outdoors

出门戴口罩

wash hands frequently and properly

勤洗手和正确洗手

cover coughs and sneezes with tissue

咳嗽和打喷嚏时用纸巾遮住口鼻

strengthen your immune system

加强免疫系统

avoid touching eyes, nose, and mouth with unwashedhands

避免用手触摸眼睛、鼻子和嘴巴

avoid close contact with people who are sick

避免和患者亲密接触

 clean and disinfect frequently touched objects and surfaces

对经常触摸的物体和表面清洁并消毒

做好以上七点,安心宅在家中为社会做贡献,希望大家在永远都能平平安安!

这篇关于此次疫情会大规模暴发吗, python爬虫来看看一亿网友们都在担心啥?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: