安装第三方模块:
任务中需要使用requests库中的某些方法帮助我们完成目标网站的访问请求。命令行窗口中输入pip install requests指令
pip install requests
如果需要指定python版本运行pip 使用:
python3.9 -m pip install requests
进入Python解释器环境,输入如下代码:
data = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=北京')
数据结构整理如下图:
我们经常会输出类似"今日XX天气:XX,温度:XX~XX"之类的文本,而XX的内容是根据变量的变化而改变的,所以我们需要一种可以将变量和字符串结合输出的方式,这种方法称作格式化字符串。 在Python中格式化字符串的方法是使用format()方法,先在需要格式化的字符串内部用大括号{}在需要变量打印的位置占位,之后在字符串后用format(变量1,变量2,变量……)依次替换字符串内的占位符。 - >>> name = "Tom"
- >>> type = "晴"
- >>> print("Hello {},今日天气 {}。".format(name,type))
- 输出结果:Hello Tom,今日天气 晴。
自动化邮箱配置:
电子邮件是非常自由且通用的联系方式之一,不用及时回复,记录可以保存,有空查看和回复即可。 使用Python发送邮件,也是非常便利,常用于程序的运行结果上报等。 首先介绍一下所使用的库:yagmail
安装命令:pip install yagmail 虽然Python官方内置了邮件相关库,但是使用起来,不方便理解,且代码量很大。所用yagmail,简单、易用、容易书写和管理。 请在命令行窗口中输入pip install yagmail指令,安装yagmail模块: [csdn ~]$ pip install yagmail
任务使用的邮箱是QQ邮箱,请大家保证自己都有一个在用的QQ邮箱。 首先需要去配置一下QQ邮箱的配置,如下图:
第一步:点击页面上方 设置——在邮箱设置中找到账户选项 第二步:页面下拉至POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 确保你邮箱账号的 POP3/SMTP 服务已启动。
邮箱发送天气预报: 第一步:导入库,然后初始化对象,如下: >>> import yagmail >>> yag = yagmail.SMTP(user='你的QQ邮箱地址@qq.com', password='输入刚刚复制的授权码',host='smtp.qq.com')
第二步:发送邮件,目标是自己,随便写一个标题和内容即可,后续可自行编辑内容,如下: >>> yag.send(to = '你的QQ邮箱地址@qq.com',subject ='测试邮件标题',contents = "测试邮件内容")
执行完成后,可以去QQ邮箱页面刷新页面,看有没有收到邮件。 注意: 1.yag.send()内to后的邮箱即为接收邮箱; 2.subject后的字符为邮箱标题; 3.contents后的字符为邮件内容。
具体演示代码python
import requests
import yagmail
#读取天气预报网页信息
data = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=海宁')
weather = data.json()
today_low = weather['data']['forecast'][0]['low'] #最低温
today_high =weather['data']['forecast'][0]['high']#最高温
today_type = weather['data']['forecast'][0]['type'] #天气
yag = yagmail.SMTP(user='hnxq@foxmail.com', password='邮箱密码',host='smtp.qq.com')
tianqi = "今日海宁天气:{},气温:{}~{},感冒多发期,适量补充水分,适当增减衣物。".format(today_type,today_low,today_high)
yag.send(to = '784055837@qq.com',subject ='今日天气预报',contents=[tianqi] )
效果:
|