据说这才是看热搜的正确方法?
时间:2022-07-23
本文章向大家介绍据说这才是看热搜的正确方法?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
引言
最近比较忙,但是我又想关注关注微博知乎发生了什么事,所以写了一个定时发送邮件的程序告诉我当前天气和热搜。
相关文件
相关程序文件:后台回复 “热搜” 获取。
相关模块
bs4:解析网页
urllib:获取网页
requests:获取网页
smtplib:发送邮件
email:构造邮件
random:生成随机数
re:正则匹配文本
实现效果
功能实现
爬取信息
这个程序主要由爬虫部分和自动发邮件部分组成。爬虫部分就是简单的获取--->解析网页的过程,之所以用到了urllib库和requests库是因为这两个爬虫是我之前不同时期分别写的,没去做修改,所以两个库都有。
爬取的网站包括:
天气信息:
https://www.tianqi.com/daqing/
微博热搜:
https://s.weibo.com/top/summary?cate=realtimehot
知乎热搜:
https://www.zhihu.com/billboard
在开发者模式下查看网页,确定一下需要的信息所在位置(这里以微博热搜为例)。
可见每条热搜的全部信息都包含在<tr class>
标签下,而我们需要的文本信息则在标签<td class="td-02">
中,使用bs4
库就可以获取得到热搜的文本信息。
其余几个网站方法类似,不赘述了。
发送邮件
为了实现自动发邮件,需要开启邮箱的STMP服务(一般在设置中打开)。
开启后要获取授权码,作为登录邮箱的密码。
然后找到你使用的邮箱的SMTP服务器的地址,常见的STMP服务器地址如下。
163邮箱:
smtp.163.com SSL端口号:465
126邮箱:
smtp.126.com SSL端口号:25
qq邮箱:
smtp.qq.com SSL端口号:465
准备好需要的信息后,配置一下发件邮箱和接收邮箱。
mail_host = "smtp.163.com" # 这里以163邮箱为例
mail_user = "用户名(邮箱@前的部分)"
mail_pass = "授权码,不是登陆密码"
sender = '你的发送邮箱'
message['From'] = "{}".format(sender)
receivers = ['接收邮箱1','接收邮箱2'] # 接收邮箱可以有若干个
message['To'] = ",".join(receivers)
最后配置一下发送内容和主题,send_string
和title
是调用时传入函数的。
配置好相关信息后,就可以使用smtplib
库发信了。
定时执行
如果需要手动执行程序才能发送邮件的话,这个程序的意义就不大了,所以需要设置一下,实现定时执行这个程序。右击此电脑,打开管理窗口。进入如下界面,创建任务。大多数都是常规设置,按照需要设置就可以了。
但是这部分需要说明一下,框1不需要改变,框2写你的程序的位置,框3写python.exe的位置。
最后
现在主要存在的问题是电脑关机后,程序无法运行,可以通过设置在树莓派上定时运行程序来解决这个问题。关于在树莓派定时运行程序的方法,过两天我会另写一篇文章。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java删除空字符:Java8 & Java11
- 6k+点赞的SpringBoot+Netty分布式即时通讯系统!爱了爱了!
- Day63:数据流中的中位数
- Prometheus是什么?
- Day64:滑动窗口的最大值
- 第10天:NLP补充——朴素贝叶斯(Naive-Bayes)
- Day65:矩阵中的路径
- Day66:机器人的运动范围
- 第11天:NLP补充——主题模式(LDA)
- 一文快速上手Rollup,JavaScript类库打包好帮手
- Day67:剪绳子
- Typecho实现微信发消息:Type时光机
- 插入排序
- Typecho1.1仿简书主题小屏幕菜单栏展开优化
- Typecho1.1仿简书主题大小屏适配