前言

本次分享的是小编经过多日编写的关于自动检测B站Up主视频更新情况,并发送邮件提醒更新的Python程序,代码不专业、部分代码段借鉴网上,仅供参考娱乐!

用到的库

selenium、_thread、sys、time、re、os、bs4、win32gui/win32con/win32api/winerror、smtlib、email、

灰色的表示没用到

环境及编译器

Python3.6

PyCharm

效果图

本来想做一个GUI,界面做好了,但跟程序连接部分还没搞定:

正式开始

一、打开网页

为了简便,使用Python自动化测试工具 -- selenium,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等,小编使用的是火狐。当然,如果不想看到浏览器,还可以使用“phantomjs”,这需要去官网下载exe文件(windows用户)。这两个怎么用不是本文重点,大家可以自行搜索。

以phantomjs为例,启动浏览器:

driver = webdriver.PhantomJS()

打开网页:

driver.get(geturl)

然后通过bs4解析页面:

Soup = BeautifulSoup(driver.page_source,'lxml')

通过F12分析B站页面,并确定搜索规则:

随便选的

参考参考小编的代码吧:

二、邮箱发送

大部分邮箱对于第三方使用,都要求有授权码来代替密码,以QQ邮箱为例(来自百度经验):

1.登录电脑版QQ邮箱,选择最上方的“设置”

2.选择“账户”,切换到账户详情页面。

3.在账户页面往下拉,可以看到pop3设置,选择“开启”。

4.按照弹出的窗口提示操作进行密保验证。有多种方式可以验证,比如手机令牌等。推荐使用短信验证。

5.按照短信验证的提示发送短信。发送成功后直接点击“我已发送”。

6.弹出的提示中直接显示16位的授权码,可以复制下来,或者是记下来,千万不要记错了。然后点击“确定”。

7.下方的收取选项一般是默认30天的,点击下拉箭头,选择“全部”,并点击页面最下方的保存更改。千万别忘了点击保存,不然之前做的都白费了。

然后就可以套用模板编写代码了:

三、创建任务栏图标

左击图标隐藏界面,右击图标恢复窗口,左双击图标退出程序

此部分代码量较大,调用了win32官方demo,仅供参考:

四、多线程

任务栏显示图标和查询程序相当于是两个独立的部分,通过一条线连接起来。也就是说,运行查询,图标就会卡死、运行图标,查询就会暂停——所以需要用到多线程。Python3.6有_thread和threading模块,本程序用的是简单的_thread,并且没优化(小编边学边做边发稿,没看全呢、),有兴趣的可以优化一下噻~~

五、主函数部分

六、打包为exe

使用pyinstaller进行打包,注意如果要将exe分享给伙伴们,记得将phantomjs也放在同一文件夹下,再压缩包发出去。如何使用pyinstaller进行打包,可以参考小编之前发过的文章,可进入小编主页查找。

结语

如果需要本程序的exe文件,可以进入https://pan.baidu.com/s/1mkl96NA 密码:v2w0。若链接失效,希望大家及时提醒小编进行更新。

python数据变更邮件提醒_Python之Bilibili自动更新邮件提醒并任务栏图标「完整代码」...相关推荐

  1. Python之Bilibili自动更新邮件提醒并任务栏图标「完整代码」

    前言 本次分享的是小编经过多日编写的关于自动检测B站Up主视频更新情况,并发送邮件提醒更新的Python程序,代码不专业.部分代码段借鉴网上,仅供参考娱乐! 用到的库 selenium. _threa ...

  2. python任务栏通知区域_Python之Bilibili自动更新邮件提醒并任务栏图标

    前言 本次分享的是经过多日编写的关于自动检测B站Up主视频更新情况,并发送邮件提醒更新的Python程序,代码不专业.部分代码段借鉴网上,仅供参考娱乐! 用到的库 selenium._thread.s ...

  3. python email模块详解_Python使用email模块对邮件进行编码和解码的实例教程

    解码邮件python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件 ...

  4. python自动发邮件附件_python自动发送带附件的邮件(163邮箱,亲测可用)

    1.设置发送邮件邮箱的SMTP服务 https://www.360kuai.com/pc/927b9f8da3555bb70?cota=4&kuai_so=1&tj_url=xz&am ...

  5. python数据可视化散点图案例_Python数据可视化—散点图_python 数据可视化

    Python数据可视化-散点图 PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了Python中的数据可视化--散点图scatter, 令x作为 ...

  6. python数据可视化的特点_python的数据分析到底是啥?python数据可视化怎么做?

    python是个啥?它一个强大的编程语言.数据分析是个啥?它一目了然,就是将数据进行分析,看看能得出什么结论.那python的数据分析到底是啥?其实就是通过这个语言将数据分析做出来,更加便捷化,更加速 ...

  7. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业

    作者:Ben,著有<Python数据科学:技术详解与商业实践>.<用商业案例学R语言数据挖掘>.<胸有成竹-数据分析的SAS EG进阶>作者.2005年进入数据科学 ...

  8. python数据可视化是什么_Python数据可视化的四种简易方法

    数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据,并且创建可视化确实有助于让问题更清晰和更容易理解,尤其是对于那些较大的高维度数据集.在 ...

  9. python数据归一化处理方法_python测试数据怎么归一化

    在python上数据归一化后怎样还原目测是autonorm.py中lin 17 normdataset=zeros(shape(dataset)) 这一句 shape(dataset)返回的是元组,但 ...

最新文章

  1. UML应用开发详解--视频
  2. 《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽
  3. [IDEA 配置MYSQL数据库连接]
  4. 做个全国一等奖的小车,其实不难(F题:智能送药小车方案分享)
  5. WPF 实现人脸检测
  6. json 语法_JSON的基本语法
  7. Js中数组Array的用法
  8. c++ 使用nacos_想自学Maven?推荐Maven极简高速入门及常规使用
  9. kettle优化抽取数据速度_基于kettle工具提高表输出写入速度(每秒万条记录)
  10. Redis源码分析系列十一:createClient后面内容
  11. 小米球Ngrok-使用方法
  12. 嘉兴 机器人仓库 菜鸟_今天,菜鸟上线中国最大机器人仓库
  13. .net 3des 解密
  14. Unity3D 放大缩小图片
  15. php 国家地区码,有没有一种简单的方法可以从PHP的国家/地区代码中获取语言代码 - php...
  16. uint与int区别
  17. 用纯css实现下拉菜单的几种方式
  18. 国家电子政务体系学习
  19. Android 之路34---Dialog
  20. 股票查询系统,模糊查询,判断数值,字典,列表,字符串的运用python

热门文章

  1. KMPBoyer-Moore
  2. 【源码】H5+JS混合实现《Just Do 8》app游戏源码分享
  3. nginx+redis 实现 jsp页面缓存,提升系统吞吐率
  4. 关于STM32库中 __IO 修饰符(volatile修饰符,反复无常的意思)
  5. 项目开发中对使用的第三方库统一进行管理__添加属性表/页
  6. 【最佳实践】【Blend】Triggers、Actions 和 Behaviors
  7. 轻飘飘的旧时光就这么溜走
  8. Linux 命令(76)—— kill 命令
  9. 结构型设计模式(2)—— 外观模式(Facade Pattern)
  10. Pytorch中的错误和bug