此次疫情会大规模暴发吗, 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

相关文章

Python中局部变量和全局变量举例详解

《Python中局部变量和全局变量举例详解》:本文主要介绍如何通过一个简单的Python代码示例来解释命名空间和作用域的概念,它详细说明了内置名称、全局名称、局部名称以及它们之间的查找顺序,文中通... 目录引入例子拆解源码运行结果如下图代码解析 python3命名空间和作用域命名空间命名空间查找顺序命名空

Python如何将大TXT文件分割成4KB小文件

《Python如何将大TXT文件分割成4KB小文件》处理大文本文件是程序员经常遇到的挑战,特别是当我们需要把一个几百MB甚至几个GB的TXT文件分割成小块时,下面我们来聊聊如何用Python自动完成这... 目录为什么需要分割TXT文件基础版:按行分割进阶版:精确控制文件大小完美解决方案:支持UTF-8编码

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

Python中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle