工具:python
第三方库:SnowNLP、pandas、WordCloud、matplotlib、BeautifulSoup、requests
据媒体报道,日本AV女演员苍井空是多少宅男心中的女神,34岁的她婚姻状况也备受关注。1月1日,苍井空在社交网络上突然发文宣布结婚,她透露对方不是帅哥,也没有钱,但接受了她以前的工作。
苍井空原文:
给粉丝们
我出道已经15年了。谢谢大家一直支持我。
其实,我很担心是否发布此声明。因为,我觉得告诉大家这个后,大家就不喜欢我了。所以,我在一直想。如果,我没说的话,每天都没有改变,还是平常的日常生活。但是!
“你有男朋友吗?”
“你什么时候结婚呀?”
“你的生日,圣诞节,情人节都和谁在一起过了呢?”面对这样的问题时,我不想说谎。我的妈妈23岁结婚了,然后,24岁的时候生了我。所以,我小时候的梦想就是在这个年龄结婚,生孩子。但,我现在已经30多岁了。我想结婚,我想要孩子。我想要我自己的家庭。
他不是帅哥,然后没有钱。但是,他接受了我以前的工作。对以前的工作我没有后悔,但,我知道这是一个严重的问题。如果结婚的话,一定得接受这个问题。所以,他很棒。
我写了很多,最后我想说的是,我,苍井空,结婚了。
我结婚了,但是我什么都没有改变。我还是我,爱你们的苍井空。今后,也请多多关照。
那么问题来了,苍井空老师结婚,网友的反映如何呢?
接下来我们看看网易新闻的评论:
先做爬虫,爬取该新闻的网友评论。
def createUrl(commentUrl,offset,limit):
s1 = 'http://comment.ent.163.com/api/v1/products/a2869674571f77b5a0867c3d71db5856/threads/'
s2 = '/comments/newList?offset='
name = commentUrl.split('/')[-1].split('.')[0]
u = s1 + str(name) + s2 + str(offset) + '&limit=' + str(limit)
return u
#从单个json文件中获取评论 in:dict out:set
def getItemsList(data):
setComment = set([])
for key in data['comments'].keys():
setComment.add(data['comments'][key]['content'])
return setComment
#通过url获取一篇新闻评论 in:str out:list
def getComments(commentUrl):
global limit
global offset
global count_comments
comments = set([])
while(1):
res = requests.get(url=createUrl(commentUrl,offset,limit),headers=headers,timeout=10).content
data = json.loads(res.decode())
if 'comments' in data.keys() and len(data['comments'].keys()) != 0:
comments = getItemsList(data) | comments
offset += (limit+1)
else:
break
count_comments += len(list(comments))
offset = 1
return list(comments)
df = pd.Series(getComments(commentUrl))
df.to_excel(r'cangjingkong_comments.xlsx') #导入到excel
接下来做数据整理,对没条评论进行打分,这里用到的snowNLP
df = pd.read_excel(r'cangjingkong_comments.xlsx')
text = df.comments.iloc[0]
s = SnowNLP(text)
def get_sentiment_cn(text):
s = SnowNLP(text)
return s.sentiments
df["sentiment"] = df.comments.apply(get_sentiment_cn)
分数越接近1,表示情绪越积极。
具体步骤,可以参考 https://www.jianshu.com/p/d50a14541d01
用matplotlib生成线形图,我们看出,褒贬不一,不过总体的均值是0.67,总体看网友的评论还是积极的。
这里去前204条评论的分数实例通过词云来看,大部门的网友还是祝福。
网友评论