用python+selenium从百度获取本地明日的天气信息并根据温度情况设置提醒
从百度天气获取当地明天的天气情况,如果明天下雨,请发送邮件通知全体同事带伞,
如果明天气温低于10度,请邮件提醒同事注意保暖,如果气温高于30度则提醒同事注意高温。
假设存在发送邮件的方法self.send_email(email_content)
代码如下:
#coding=utf-8
from selenium import webdriver
import unittest
from time import sleep
class WeatherReport(unittest.TestCase):
def setUp(self):
self.dr = webdriver.Chrome()
self.weather, self.the_highest_temperature, self.the_lowest_temperatrue = self.get_tomorrow_weather_and_temperature()
self.content = self.email_content()
def get_tomorrow_weather_and_temperature(self):
self.baidu_search('成都天气')
sleep(5)
weather = self.dr.find_elements_by_css_selector('.op_weather4_twoicon_weath')[1].text #首先获取明日天气
print('明日天气为%s' %weather)
temperature = self.dr.find_elements_by_css_selector('.op_weather4_twoicon_temp')[1].text #其次获取明日温度
the_highest_temperature = int(temperature.split(' ~ ')[0]) #从温度中获取明日最高温度并转为整型
print('明日最高温度%s℃' %the_highest_temperature)
the_lowest_temperature = temperature.split(' ~ ')[1] #从温度中获取明日最低温度
print('明日最低温度%s' %the_lowest_temperature)
return weather, the_highest_temperature, the_lowest_temperature
def baidu_search(self, CityWeather):
self.dr.get('http://www.baidu.com')
self.dr.find_element_by_id('kw').send_keys(CityWeather)
self.dr.find_element_by_id('su').click()
def email_content(self):
if '雨' in self.weather:
content = '通知:明天有雨,请全体同事带伞!'
else:
if self.the_highest_temperature > 30:
content = '提醒:明日气温高于30度,请全体同事注意高温'
elif self.the_highest_temperature < 10:
content = '提醒:明日气温低于10度,请全体同事注意保暖'
else:
content = ''
return content
def test_send_email(self):
print('%s' %self.content)
def tearDown(self):
self.dr.quit()
if __name__ == '__main__':
unittest.main()
网页如下:

实现如下:

用python+selenium从百度获取本地明日的天气信息并根据温度情况设置提醒的更多相关文章
- python selenium 练习 自动获取豆瓣阅读当前特价书籍 chrome 元素定位 窗口切换 元素过期
豆瓣原创电子书每周推出数十本限时免费数目,一周免费期过后恢复原价.想着豆瓣原创书中有不少值得一看,便写了个脚本,免去一个个添加的烦恼. 使用了Windows下selenium+Python的组合,有较 ...
- python+selenium实现百度关键词搜索自动化操作
缘起 之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名. 不 ...
- Python + Selenium 练习篇 - 获取页面所有邮箱
代码如下: # coding=utf-8import re #python中利用正则,需要导入re模块from selenium import webdriverdriver = webdriv ...
- python selenium实现百度搜索
1.环境 python2.7+selenium+phantomjs+linux 2.代码 #-*-coding:utf-8 -*- from selenium import webdriver fro ...
- Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件
由于公司现阶段大多数应用软件都是基于Windows系统开发和部署,很多软件安装部署都是在windows server 2012.windows server 2008之类的服务器上,部门同事每次测试一 ...
- Python+selenium爬取智联招聘的职位信息
整个爬虫是基于selenium和Python来运行的,运行需要的包 mysql,matplotlib,selenium 需要安装selenium火狐浏览器驱动,百度的搜寻. 整个爬虫是模块化组织的,不 ...
- [VC]获取本地程序的版本信息信息
CString CQwerApp::IS_GetAppVersion(char *AppName) { ////需要加上version.lib在link里 CString AppVersion; // ...
- python使用wmi模块获取windows下的系统信息监控系统-乾颐堂
Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...
- Linux下编程获取本地IP地址的常见方法
转载于:http://blog.csdn.net/k346k346/article/details/48231933 在进行linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之 ...
随机推荐
- 【图像处理】【SEED-VPM】5.uImage的烧写 & NFS烧写文件系统
基于 TFTP 烧写 uImage 当用户对 SEED-VPM6467 下的内核驱动源码进行调整或者添加新的设备驱动后,需要对内核进行重新编译配置,编译生成内核镜像后,可以通过 tftp 下载到 SE ...
- HDU 1513 最长子序列
Palindrome Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- Python的50个模块,满足你各种需要
Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其 ...
- 用Pyinstaller打包发布exe应用 (转)经测可用
安装Pyinstaller 1 按照习惯,我们使用pip来安装模块.我们一直以来强调,要用最偷懒的方法.写代码的人尤其如此.人生苦短,你要偷懒~ 0Python | 如何用pip安装模块和包 ...
- RASPBERRY PI wifi配置
Raspberry Pi 手把手教你在树莓派上安装USB无线网卡支持WIFI 树莓派虽然已经有了有线网卡,但是并未配置无线网卡,移动性不够强,好在机器配备了2个USB口,当然要分一个出来给WIFI无线 ...
- 前端开发week1
1.前端开发前期相关工具 photoshop:主要学习运用与前端相关工具,了解UI与前端的关联. axure:原型设计,通过设计原型了解网页基本结构,结合ps对UI有更好的理解. webs ...
- C++模拟C#事件委托机制(二)
原文 来自于http://www.cnblogs.com/netssfy/archive/2010/02/02/1662056.html 为了解决非法地址访问的冲突,首先需要知道发生该错误的原因是什么 ...
- fake gucci outlet perform a couple associated with things in great trust
Based on my a lot of years of encounter within Taobao, purchase bags must go to the high reputation ...
- VisualSVN5.0.1补丁原创发布
VisualSVN5.0.1补丁原创发布
- c语言实现牛顿迭代法
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<float.h> #inc ...