优草派  >   Python

用Python发送天气预报代码怎么写?Python如何开发天气预报发送程序

罗西汉            来源:优草派

最近很多小伙伴都想要知道,如何使用python来获取天气预报并且通过邮箱来发送出去,那么这个需求实际上就是爬虫抓取数据以及发送右键两个功能的组合。下文有详细代码示例和步骤解析,想要了解一下的话就一起往下看看吧。

用Python发送天气预报代码怎么写?Python如何开发天气预报发送程序

1.那么首先所要做的就是导入模块和第三方库,抓取数据需要用到requests库,数据抓取回来之后处理使用bs4库。而发送右键导入smtplib以及标准库email即可,代码如下所示:

import requests
import smtplib
from bs4 import BeautifulSoup
from email.mime.text import MIMEText
from email.header import Header

2.模块导入完成之后还需要去定义三个变量,这三个变量分别为发件人邮箱、邮箱授权码以及收件人邮箱。邮箱授权码则是需要在邮箱设置中找到SMTP服务并将其打开,然后就可以获取到授权码,代码如下:

account ='@qq.com'
password = ''    # 授权码
receiver ='@qq.com

3.然后需要定义函数来抓取天气预报数据并且处理,这个网站选择中国天气网即可。然后调用get()方法向这个网站发送请求来抓取数据会来,数据抓取会来之后通过find()方法找到指定网页元素并获取即可,详细代码如下所示:

def weather_spider():
  res=requests.get(url='http://www.weather.com.cn/weather1d/wuhan.shtml')
  soup=BeautifulSoup(res.text,'html.parser')
  tem1= soup.find(class_='tem').text
  weather1= soup.find(class_='wea').text
  clothes1=soup.find(class_='li3 hot').find('p').text
  return tem1,weather1,clothes1

4.天气预报数据抓取会来并且处理完成之后就是要定义发送邮件的函数了,这个函数中所需要传入参数为天气预报获取到的数据。而发送右键函数编写很简单,调用qq邮箱服务器接口并将其实例化,然后发送右键即可,代码如下:

def send_email(tem,weather,clothes):
  qqmail = smtplib.SMTP_SSL('smtp.qq.com')
  content= '天气: '+tem+', '+weather+', '+clothes
  message = MIMEText(content, 'plain', 'utf-8')
  qqmail.sendmail(account, receiver, message.as_string())

以上就是关于“用Python发送天气预报代码怎么写?Python如何开发天气预报发送程序”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。