美文网首页python_文本分析
从苍井空结婚看网络反映

从苍井空结婚看网络反映

作者: 姚的日志 | 来源:发表于2017-12-21 18:07 被阅读4次

    工具: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条评论的分数实例

    通过词云来看,大部门的网友还是祝福。

    相关文章

      网友评论

        本文标题:从苍井空结婚看网络反映

        本文链接:https://www.haomeiwen.com/subject/wwajqxtx.html