前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >货拉拉涉事司机被批捕,用Python爬取知乎问题,看看知乎网友的看法!

货拉拉涉事司机被批捕,用Python爬取知乎问题,看看知乎网友的看法!

作者头像
Python与Excel之交
发布2021-08-05 14:47:19
8840
发布2021-08-05 14:47:19
举报
文章被收录于专栏:Python与Excel之交

Hi~大家好!

最近的“货拉拉女乘客坠车死亡事件”的涉事司机被批捕以及事件细节公布的消息被冲上热搜第一。

据人民日报的报道:

3月3日,长沙市公安局高新区分局通过其官方微信发布关于周某春涉嫌过失致人死亡案件的情况通报,通报显示,检察机关对周某春批准逮捕。

自事件发生以来,网上评论不断,我用python爬取知乎热门问题的回答,看一下网友对此事件的看法。

一、爬虫

本次只要爬取知乎作者、作者id、回答时间、赞同数、底下评论数、回答内容等数据,这里只讲解思路和对几处关键地方作出解释。

知乎是一个动态加载的网页,所以需要用开发者工具进行抓包:

真实url中的offset参数会发生递增变化,每次增加5

代码语言:javascript
复制
https://www.zhihu.com/api/v4/questions/447340905/answers?include=data%5B%2A%5D.is_normal%2Cadmin_closed_comment%2Creward_info%2Cis_collapsed%2Cannotation_action%2Cannotation_detail%2Ccollapse_reason%2Cis_sticky%2Ccollapsed_by%2Csuggest_edit%2Ccomment_count%2Ccan_comment%2Ccontent%2Ceditable_content%2Cattachment%2Cvoteup_count%2Creshipment_settings%2Ccomment_permission%2Ccreated_time%2Cupdated_time%2Creview_info%2Crelevant_info%2Cquestion%2Cexcerpt%2Cis_labeled%2Cpaid_info%2Cpaid_info_content%2Crelationship.is_authorized%2Cis_author%2Cvoting%2Cis_thanked%2Cis_nothelp%2Cis_recognized%3Bdata%5B%2A%5D.mark_infos%5B%2A%5D.url%3Bdata%5B%2A%5D.author.follower_count%2Cbadge%5B%2A%5D.topics%3Bdata%5B%2A%5D.settings.table_of_content.enabled&limit=5&offset=5&platform=desktop&sort_by=default
https://www.zhihu.com/api/v4/questions/447340905/answers?include=data%5B%2A%5D.is_normal%2Cadmin_closed_comment%2Creward_info%2Cis_collapsed%2Cannotation_action%2Cannotation_detail%2Ccollapse_reason%2Cis_sticky%2Ccollapsed_by%2Csuggest_edit%2Ccomment_count%2Ccan_comment%2Ccontent%2Ceditable_content%2Cattachment%2Cvoteup_count%2Creshipment_settings%2Ccomment_permission%2Ccreated_time%2Cupdated_time%2Creview_info%2Crelevant_info%2Cquestion%2Cexcerpt%2Cis_labeled%2Cpaid_info%2Cpaid_info_content%2Crelationship.is_authorized%2Cis_author%2Cvoting%2Cis_thanked%2Cis_nothelp%2Cis_recognized%3Bdata%5B%2A%5D.mark_infos%5B%2A%5D.url%3Bdata%5B%2A%5D.author.follower_count%2Cbadge%5B%2A%5D.topics%3Bdata%5B%2A%5D.settings.table_of_content.enabled&limit=5&offset=10&platform=desktop&sort_by=default

数据存储在json格式的文件文件中,所有我们直接把数据类型转换为json的数据类型,然后用json方法提取父节点,再用循环进一步提取。

代码语言:javascript
复制
response = requests.get(url=url, headers=headers).json()
data = response['data']
for list_ in data:
    name = list_['author']['name']

我们获取的回答时间是一组时间戳,所以我们需要进行转换。

代码语言:javascript
复制
created_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(created_time))

我们提取了回答内容,但提取的内容存在很多标签和链接,所以我们需要用正则表达式去除。

代码语言:javascript
复制
# 正则表达式提取,这个正则表达式表示只提取中文和符号
content = ''.join(re.findall("[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\u4e00-\u9fa5]", content)) 
二、数据可视化

导入模块和读取数据:

代码语言:javascript
复制
import pandas as pd
import stylecloud
from IPython.display import Image

df = pd.read_csv('D:\数据小刀\爬虫④\知乎回答\知乎回答.csv')
df.head()

删除重复值和缺失值,并查看数据格式:

代码语言:javascript
复制
df = df.drop_duplicates()
df.dropna(axis=0, how='any', inplace=True)
df.info()
代码语言:javascript
复制
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2935 entries, 0 to 2999
Data columns (total 6 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   作者      2935 non-null   object
 1   作者id    2935 non-null   object
 2   发布时间    2935 non-null   object
 3   赞同数     2935 non-null   int64 
 4   底下评论    2935 non-null   int64 
 5   回答内容    2935 non-null   object
dtypes: int64(2), object(4)
memory usage: 160.5+ KB

赞同数最高的十个回答,最高赞同数为25849

代码语言:javascript
复制
df["赞同数"] = df["赞同数"].astype('float')
df.sort_values('赞同数',inplace=True,ascending=False)
df4 = df.reset_index(drop=True) 
df4[:10]

我们看下最高赞同数的回答:

代码语言:javascript
复制
这位货拉拉司机还是挺难的,大周六晚上还在搬家,这位女孩来来回回搬了趟,一共十来分钟的路程,光是搬上车就用了三十多分钟,每一趟司机可能都要安慰自己这是最后一趟。在行驶途中女孩还拒绝了卸车服务,意思就是到了地方还要自己搬个趟。货拉拉的超时费要司机线下和顾客协商收取,之前司机提醒女孩超时要收费的时候女孩“未予理睬”,估计司机心里也犯嘀咕。司机来来回回得接近一个多小时,也就只收元,算上各种成本,时薪也就十来块,估计是有点郁闷了。赚点辛苦钱可真是不容易,都九点多了,司机满脑子想着是如何接下一单,不愿意和女孩多纠结,结果为了节约这四分钟走了近路,女孩突然跳车了。司机下车一分钟不到就打了,不知道打的时候是什么心情,估计怀疑老天爷在针对他。以个人朴素的观点来看,司机态度不好不假,但过失致人死亡的前提也要是能预见到自己的行为可能导致这种后果。这后果谁也预料不到,写小说你敢写乘客会因此直接跳车,那也是绝对要被读者喷的,司机根本就没法预见到接下来会发生致人死亡的事情。至于为什么没有急刹,急刹对于头都伸出去的副驾会造成什么,有驾照的人应该都懂。一个无敌甩尾把女孩甩回车内的操作只存在小说里,司机点刹了,甚至还打了双闪,这操作已经非常合理了。但凡他有急刹的行为,现在某些平台的舆论已经是他在故意杀人了。目前只是批捕,法院还未必能判下来,我觉得法律不该用一套完美的流程来苛求司机的行为,希望最终不要有刑事责任。司机急刹:操作不当过失致人死亡司机点刹:过失致人死亡司机:要不还是我跳吧?司机也是底层弱势人民,不是迫于生活,不是想让自己家里人日子能过得更好点,谁会在周六晚上快十点了还在想着接下一单呢?希望底层人士这个身份能帮到他,起码让舆论能缓和一点。说到底,这起五十块钱引发的悲剧,根本原因还是资本为了赚钱,把一切问题抛给了全社会;平台为了流量,也更喜欢引发各类人群的冲突,最终结果就是所有人都在为此买单。希望这个社会能更友善一点,润滑剂多一点,这样的悲剧才能少一点。

词云展示:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、爬虫
  • 二、数据可视化
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档