朋友圈装死,微博蹦迪|Python教你如何掌握女神情绪变化

如何用python做游戏(简单易上手版)【送 源码】 pygame 我觉得还蛮好上手的 阅读详情

很多人都是在朋友圈装死,微博上蹦迪。
微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!

所以你不要傻傻盯着女神的朋友圈发呆啦!

本文教你如何用Python自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。

为了及时获取这些消息,三步可以实现:

1、定时自动爬取微博内容

2、微博内容的情绪分析

3、邮件自动提醒

1

微 博 内 容 获 取

首先是一些常规操作:

你需要注册一个微博账户,找到你微博账户的cookie

然后找到你需要关注的微博用户的id,下面以李荣浩为例:

或者直接去用户主页查看,进入指定用户主页,如李荣浩的主页 :

https://m.weibo.cn/u/1739046981?uid=1739046981&luicode=10000011&lfid=231093_-_selffollowed

其中1739046981就是uid。

先根据这些信息设置好自己的账号,由于最新的微博内容肯定在第一页,设置好首页微博内容的url

# 改成自己的user_id和cookie
user_id = YOUR_ID
cookie = {"Cookie": "YOUR_COOKIE"}
# url
url = 'http://weibo.cn/%d/profile?page=1'%user_id
# 获取初始url页面html内容,获取user_id和cookie(在返回的response header中)
html = requests.get(url, cookies = cookie).content
print ('user_id和cookie读入成功')

有了这些信息以后,我们就可以爬取微博内容啦,这里需要注意的是我们需要加一个第一条微博的判断。

#根据用户uid获取该用户第一页的微博消息
page_num = 1
nickname = None
weibo = None
try:
    json = r.get(
        ('https://m.weibo.cn/api/container/getIndex?'
        'is_search[]=0&'
        'visible[]=0&'
        'is_all[]=1&'
        'is_tag[]=0&'
        'profile_ftype[]=1&'
        'page={0}&'
        'jumpfrom=weibocom&'
        'sudaref=weibo.com&'
        'type=uid&'
        'value={1}&'
        'containerid=107603{1}').format(page_num, uid),
        verify=False,
    ).json()
except:
    return None, None
if json['ok'] == 0:
    print('sth wrong')
    return None, None
else:
    for card in json['cards']:
        if card['card_type'] == 9:
            weibo = [
                card['mblog']['created_at'],
                BeautifulSoup(
                    card['mblog']['text'], 'lxml'
                ).text.replace(' \u200b\u200b\u200b', ''),
                *get_comments_from_one_weibo(
                    card['mblog']['id']),
            ]

这样的话我们就可以获取到女神的最新微博啦~下面要做的就是根据获取到的微博数据来分析情感内容。

2

微 博 内 容 情 感

这部分仅对文本内容有效,如果是图片内容就直接通知你内容不做情感分析。

如果需要计算中文文本内容的情绪分,主要是三步:

1、情感字典及对应的分数

2、数据的分词处理

3、构建情绪分计算逻辑

这里主要介绍一下情绪分的计算逻辑,情感词典和完整的实现逻辑后台回复「 微博通知 」获取,下次再专门写一篇针对文本情绪评分的内容。

简化的情感分数计算逻辑:所有情感词语组的分数之和

定义一个情感词语组:

两情感词之间的所有否定词和程度副词与这两情感词中的后一情感词构成一个情感词组,即notWords + degreeWords + sentiWords,

例如不是很开心,其中不是为否定词,很为程度副词,开心为情感词,那么这个情感词语组的分数为:

finalSentiScore = (-1) ^ 1 * 1.25 * 3.546

其中1指的是一个否定词,1.25是程度副词的数值,3.546是开心的情感分数。

伪代码如下:

finalSentiScore = (-1) ^ (num of notWords) * degreeNum * sentiScore

finalScore = sum(finalSentiScore)

具体实现逻辑如下:

def scoreSent(senWord, notWord, degreeWord, segResult):
    W = 1
    score = 0
    # 存所有情感词的位置的列表
    senLoc = senWord.keys()
    notLoc = notWord.keys()
    degreeLoc = degreeWord.keys()
    senloc = -1
    # notloc = -1
    # degreeloc = -1

    # 遍历句中所有单词segResult,i为单词绝对位置
    for i in range(0, len(segResult)):
        # 如果该词为情感词
        if i in senLoc:
            # loc为情感词位置列表的序号
            senloc += 1
            # 直接添加该情感词分数
            score += W * float(senWord[i])
            # print "score = %f" % score
            if senloc < len(senLoc) - 1:
                # 判断该情感词与下一情感词之间是否有否定词或程度副词
                # j为绝对位置
                for j in range(senLoc[senloc], senLoc[senloc + 1]):
                    # 如果有否定词
                    if j in notLoc:
                        W *= -1
                    # 如果有程度副词
                    elif j in degreeLoc:
                        W *= float(degreeWord[j])
        # i定位至下一个情感词
        if senloc < len(senLoc) - 1:
            i = senLoc[senloc + 1]
    return score

通过这个计算逻辑最终输出整条微博的情绪评分,在做这个最重要的是要有好用的语料库,定义好正向情感词和负向情感词。

基础情感词典已经有整理好了的情感词典。使用的是大连理工大学的情感词汇本体库,停用词表使用哈工大的停用词表。

有关文本情感分析的参考:

https://blog.youkuaiyun.com/qq_22765745/article/details/70947728

3

邮 件 自 动 提 醒

当我们获取到新的微博内容时,就需要将消息推送到我们的邮箱,这时候,我们需要添加判定条件,判断是否执行邮件提醒。这个判断条件与爬取最新微博的判断设置成一致。

python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。

smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。

email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。

导入我们需要用到的包

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
import smtplib

msg = MIMEMultipart()

在邮件中插入微博正文,同时将情绪分值添加到邮件正文里:

##在邮件中插入文本信息    
df_text="Hi!\n你的女神新发了一条微博,情绪分值只有 %s  \n快去看看吧!"% score
msgtext = MIMEText(df_text, 'plain', 'utf-8')
msg.attach(msgtext)

剩下的就是设置一些邮件参数来发送邮件:

#设置邮件信息常量
email_host= ''  # 服务器地址
sender = '' # 发件人
password ='' # 密码,如果是授权码就填授权码
receiver = '' # 收件人

发送邮件:

try:
    smtp = smtplib.SMTP(host=email_host)
    smtp.connect(email_host,port)
    smtp.starttls()
    smtp.login(sender, password)
    smtp.sendmail(sender, receiver.split(',') , msg.as_string())
    smtp.quit()
    print('发送成功')
except Exception: 
     print('发送失败')

具体邮件发送参数说明如下:

smtplib.SMTP():实例化SMTP()
connect(host,port):
email_host:指定连接的邮箱服务器。常用邮箱的smtp服务器地址如下:
新浪邮箱:smtp.sina.com
163网易邮箱:smtp.163.com。
port:指定连接服务器的端口号,默认为25
login(user,password):
sender:登录邮箱的用户名。
password:登录邮箱的密码(网易邮箱一般是网页版,需要用到客户端密码,需要在网页版的网易邮箱中设置授权码,该授权码即为客户端密码)
sendmail(from_addr,to_addrs,msg,…):
sender:邮件发送者地址
receiver:邮件接收者地址
msg:邮件内容
quit():用于结束SMTP会话

4

效 果 展 示

运行程序结果如下:

文章涉及的数据和部分源代码,公众号后台回复「 微博通知 」获取。

更多有趣有用文章

手把手教你,菜鸟也能用Python写一个2048游戏

强烈推荐,用Python轻松打造定制款《植物大战僵尸》
小白都能看懂,用Python来实现一个区块链,就这么简单

天下武功为快不破,戏说Python与Go高并发争锋!

建议看一下,零基础学Python都想问的6个问题,老司机给你两千字解答

点「在看」的人都变好看了哦!

见过仙女蹦迪吗?一起用python做个小仙女代码蹦迪视频 前言 最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿遍又亿遍,久久不能离开! 看着小仙紫姐姐的蹦迪视频,除了一键三连还能做什么?突发奇想,能不能把舞蹈视频转成代码舞呢? 说干就干,今天就手把手教大家如何把跳舞视频转成代码舞,跟着仙女姐姐一起蹦起来~ 视频来源:【紫颜】见过仙女蹦迪吗 【千盏】 一、核心功能设计 总体来说,我们需要分为以下几步完成: 从B站上把小姐姐的视频下载下来 对视频进行截取GIF,把截取的GIF通过ASCII Animator进行ASCII字符转换 把转换的字符gif根据每 阅读详情

相关推荐

蹦迪代码蹦迪代码蹦迪代码.bat

蹦迪代码蹦迪代码蹦迪代码.bat

7行代码做个蹦迪小程序

闲着没事干,做个蹦迪小程序。

2301_76695399的博客 779

代码跳舞.code.dance.html示例代码

代码跳舞.code.dance.html示例代码。

用Python写一个游戏

这个需要用到“pygame”模块,需要下载,这个安装并添加模块,pip就行了。这个只要有一点Python基础的人,都看得懂。

2201_76040739的博客 1916

win11重装系统简易教程-小白也可以上手!

本文介绍一下win11系统重装的各个步骤,也作为记录供自己后面查看。附上我之前参考的一位知乎大神写的重装win10系统文章的地址本文用到的工具全部是,不需要下载第三方镜像文件(不是说这个不好,只是第三方的软件或镜像文件网上非常多,琳琅满目,小白需要筛选甄别,直接用官方的就比较省心,大神请自便~)

Sddqa的博客 1万+

【IEEE】从Accept到Online:详解Proof校样阶段的关键操作与避坑指南

本文详细解析了IEEE论文从Accept到Online的Proof校样阶段关键操作流程与避坑指南。重点介绍了IEEE Author Gateway平台的使用技巧、校样稿首页的风险点检查,以及多人协作校对策略,帮助作者高效完成论文出版前的最后审核,确保学术成果准确呈现。

weixin_30591551的博客 357

朋友圈装死,微博蹦迪,Python教你如何掌握女神情绪变化 | 优快云博文精选

作者 | A字头来源 | 数据札记倌很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用Py...

AI科技大本营 3120

SVDD和OCSVM的比较

OCSVM(one class support vector machine)即单类支持向量机,最先提出的文献为:Estimating the support of a high-dimensional distribution.该模型 将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性,在特征空间中求解一个最优超平面实现目标数据与坐标原点的最大分离,如图1: 坐标原...

qq_33880788的博客 1万+

python弄小词典_朋友圈装死,微博蹦迪|Python教你如何掌握女神情绪变化

很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用Python自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒1微 博 内 容 获 取首先是一些常规操作:你需要注册一个微博账户,找到你微博账...

weixin_39532352的博客 127

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案

将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取!

CHUXUEZHE8210的博客 1993

疾病负担研究(GBD)——如何使用joinpoint软件计算AAPC

疾病负担研究(GBD)——如何使用joinpoint软件计算AAPC

weixin_44240228的博客 1万+

发送图片微博_朋友圈装死,微博蹦迪,Python教你如何掌握女神情绪变化 | 优快云博文精选...

作者 | A字头来源 | 数据札记倌很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用Python自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒1 微 博 内 容 获 取首先是一些常规操作:你需要注...

weixin_39961369的博客 177

血管分割中的直径平衡难题:从clDice到cbDice的演进与实践

本文探讨了血管分割中的直径平衡难题,详细分析了从clDice到cbDice的技术演进与实践。通过引入半径感知权重和边界对齐惩罚,cbDice在保持拓扑完整性的同时提升了几何敏感度,显著改善了细小血管的分割效果。文章还分享了在nnU-Net中实现cbDice的工程细节,包括GPU加速骨架提取和多任务损失组合策略,为医学影像分析提供了重要参考。

weixin_29170327的博客 243

如何用Python爬取微博内容,进行文本情绪评分,实时通知女神的真实情绪

很多人都是在朋友圈装死,微博上蹦迪。 微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!

weixin_43931438的博客 3164

SolidWorks速成教程P3-6【零件 | 第六节】——草图封闭轮廓&所选轮廓&厚度为零的报错

到这里,我们已经将特征成型的常用功能学完。这节我来继续讲解一下 SolidWorks中建模的一些容易忽略的问题(草图封闭轮廓&所选轮廓&厚度为零的报错)。

嵌入式阿齐Archie 5780

Objective-C实现人工势场法(附完整源码)

Objective-C实现人工势场法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 426

发送图片微博_Python助你发现朋友圈装死,微博蹦迪 的女神

很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用Python自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒1微 博 内 容 获 取首先是一些常规操作:你需要注册一个微博账户,找到你微博账...

weixin_39700625的博客 214

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python住房情绪_Python 教你如何掌握女神情绪变化

点击上方 “AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货!很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件...

weixin_39735288的博客 337

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

attach python进程_Python 教你如何掌握女神情绪变化

点击上方 “AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货!很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3...

weixin_29405101的博客 498

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python弄小词典_Python 教你如何掌握女神情绪变化

点击上方 “AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货!很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3...

weixin_39855706的博客 89

谁说程序员没有时间关心女朋友的,Python 教你如何掌握女神情绪变化

很多人都是在朋友圈装死,微博上蹦迪。 微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。 为了及时获取这些消息,三步可以实现: 1、定时自动爬取微博内容 2、微博内容的情绪分析 3、邮件自动提醒 一、微 博 内 容 获 取 首先是一些常规操作:你...

轻松学python的博客 363

python弄小词典_谁说程序员没空关心女朋友,Python 教你如何掌握女神情绪变化...

很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒一、微 博 内 容 获 取首先是一些常规操作:你需要注册一个微博账户,找到你微博账户的...

weixin_39910824的博客 183

python弄小词典_程序员没有时间关心女朋友?Python教你如何时刻关注女神情绪变化...

很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒一、微 博 内 容 获 取首先是一些常规操作:你需要注册一个微博账户,找到你微博账户的...

weixin_39981400的博客 191

python弄小词典_程序员大神教你恋爱,用Python做女神们的中央空调!

很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。为了及时获取这些消息,三步可以实现:1、定时自动爬取微博内容2、微博内容的情绪分析3、邮件自动提醒一、微 博 内 容 获 取首先是一些常规操作:你需要注册一个微博账户,找到你微博账户的...

weixin_39903846的博客 383

泡妞神器Python!教你用它时刻关注女友心情变化!

很多人都是在朋友圈装死,微博上蹦迪。 微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始做一个贴心小棉袄。 为了及时获取这些消息,三步可以实现: 1、定时自动爬取微博内容 2、微博内容的情绪分析 3、邮件自动提醒 一、微 博 内 容 获 取 首先是一些常规操作:你需要注册一个微博账户,找到你微博账户的 Cookie 然后找到你需要关注的微博用户的 id,下面以李荣浩为例: 或者直接去用户.

326

python微博接口_python使用新浪微博api上传图片到微博示例

import urllib.parse,os.path,time,sysfrom http.client import HTTPSConnectionfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *#pathospath=sys.path[0]if len(ospath)!=3:ospa...

weixin_39607937的博客 395
上一篇: 圣诞Party将至!来来来,露一手用Python 抽奖
下一篇: 8岁上海小学生B站教编程惊动苹果,库克亲送生日祝福
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值