前天小编带大家利用Python网络爬虫采集了天气网的实时信息,今天小编带大家更进一步,将采集到的天气信息直接发送到邮箱,带大家一起嗨~~拓展来说,这个功能放在企业级角度来看,只要我们拥有客户的邮箱,之后建立邮箱数据库,然后我们就可以通过网络爬虫将采集到的信息发送给我们的目标用户,而且每天都可以实现定时发送。

对于天气信息,我们采集的目标网站是搜狐天气网,信息内容如下图所示:

搜狐天气网

采集的方式仍然使用BeautifulSoup选择器,定义get_weather函数,具体代码如下图所示:

定义get_weather函数

采集到的信息内容有:当前城市、天气状态、当前气温、最低温、最高温、空气质量和PM2.5值。在代码块中使用了string属性、字符串格式化和lambda函数等知识点。在使用BS4匹配目标信息时,建议大家逐步进行代码测试,养成良好的习惯,这样不至于写完之后因代码报错而一头雾水。

采集到天气信息之后,接下来要写代码实现邮件的自动发送。定义send_email函数,具体代码如下图所示:

定义send_email函数

确认好对方(或客户群)的邮箱之后,放在列表中,等待被遍历,之后只需要输入本人的邮箱名、登录密码和邮箱服务器,便可以实现信息的自动发送了。本例中,小编以自己的搜狐邮箱为例,目标城市选择小编所在的城市大连,程序运行之后,将得到以下的效果图:

效果图

尔后登录自己的搜狐邮箱,然后就可以看到一封天气预报的邮件已经在自己的未读邮件中了,打开邮件信息,如下图所示:

搜狐邮箱收件箱

可以很明显的看到邮件内容和采集到的信息是完全一致的。这样就可以实现邮件的一键收发啦~~~

那么是不是只有搜狐邮箱才可以实现邮件发送呢?当然不是啦,163网易邮箱照样可以,只需要更改邮箱服务器就可以了,效果图如下所示:

发送信息到网易163邮箱

点开邮件查看邮件内容,如下图:

网易163邮箱收件箱

同搜狐邮箱一样,接受到的邮件内容和采集到的信息是完全一致滴。

最后安利一下小伙伴们邮箱服务器和PM2.5的标准。

一、部分常用邮箱服务器汇总:

腾讯QQ邮箱发送服务器:smtp.qq.com

网易126邮箱发送服务器:smtp.126.com

网易163邮箱发送服务器:smtp.163.com

新浪免费邮箱发送服务器:smtp.sina.com.cn

搜狐邮箱发送服务器:smtp.sohu.com

雅虎邮箱发送服务器:smtp.mail.yahoo.com

Gmail邮箱发送服务器:smtp.gmail.com

二、PM2.5值的参考值

空气质量等级 24小时PM2.5平均值标准值

优 35微克(ug)/每立方

良 35~75微克(ug)/每立方

轻度污染 75~115微克(ug)/每立方

中度污染 115~150微克(ug)/每立方

重度污染 150~250微克(ug)/每立方

严重污染 250及以上微克(ug)/每立方

从采集结果来看,大连的天气PM2.5的值为110微克,属于轻度污染的范围。

利用网络爬虫技术实现自动发送天气预告邮件,你get到了嘛?

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

企业级Python开发大佬利用网络爬虫技术实现自动发送天气预告邮件的更多相关文章

  1. 网络爬虫技术实现java依赖库整理输出

    网络爬虫技术实现java依赖库整理输出 目录 1       简介... 2 1.1      背景介绍... 2 1.2      现有方法优缺点对比... 2 2       实现方法... 2 ...

  2. python Cmd实例之网络爬虫应用

    python Cmd实例之网络爬虫应用 标签(空格分隔): python Cmd 爬虫 废话少说,直接上代码 # encoding=utf-8 import os import multiproces ...

  3. 网络爬虫技术Jsoup——爬到一切你想要的(转)

    转自:http://blog.csdn.net/ccg_201216323/article/details/53576654 本文由我的微信公众号(bruce常)原创首发, 并同步发表到csdn博客, ...

  4. Python开发笔记:网络数据抓取

    网络数据获取(爬取)分为两部分: 1.抓取(抓取网页) · urlib内建模块,特别是urlib.request · Requests第三方库(中小型网络爬虫的开发) · Scrapy框架(大型网络爬 ...

  5. python网络爬虫技术图谱

  6. Python开发基础-Day15正则表达式爬虫应用,configparser模块和subprocess模块

    正则表达式爬虫应用(校花网) import requests import re import json #定义函数返回网页的字符串信息 def getPage_str(url): page_stri ...

  7. Java网络爬虫技术《二》Jsoup

    Jsoup 当我们成功抓取到页面数据了之后,还需要对抓取的数据进行解析,而刚好,Jsoup 是一款专门解析 html 页面的技术.Jsoup是一款基于 Java 的HTML 解析器,可直接解析某个 U ...

  8. python核心编程中网络爬虫的例子

    #!/usr/bin/env python import cStringIO # import formatter # from htmllib import HTMLParser # We use ...

  9. 【python开发】利用PIP3的时候出现的问题Fatal error in launcher: Unable to create process using '"'

    down voteaccepted I fixed my issue by... downloading Python 3 at the official website and installing ...

随机推荐

  1. [hdu4609]计数方法,FFT

    题目:给一个数组a,从里面任选三个数,求以这三个数为三条边能构成三角形的概率. 思路:由于每个数只能用一次,所以考虑枚举三边中的最大边.先将a数组排序,然后枚举它的每个数x作为最大边,那么问题就是要求 ...

  2. [whu1568]dp优化

    http://acm.whu.edu.cn/land/problem/detail?problem_id=1568 思路:先将所有数分解,得到2,3,5,7的个数,转化为用这些2,3,5,7" ...

  3. python 基础应用3

    1.使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. #使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. s = ...

  4. Redis学习笔记(六) 对象

    前面我们看了Redis用到的主要数据结构,如简单动态字符串(SDS).双向链表.字典.压缩列表.整数集合等. 但是Redis并没有直接使用这些数据结构来实现键值对,而是基于这些数据结构创建了一个对象系 ...

  5. SDK,JDK,API的区别

    [基础概念] 先留一波传送门: SDK:软件开发工具包(外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的 ...

  6. 设计模式系列之适配器模式(Adapter Pattern)——不兼容结构的协调

    模式概述 模式定义 模式结构图 模式伪代码 类适配器,双向适配器,缺省适配器 类适配器 双向适配器 缺省适配器 模式应用 模式在JDK中的应用 模式在开源项目中的应用 模式总结 主要优点 主要缺点 适 ...

  7. React之Antd table表格渲染按钮问题

    问题描述:table表格渲染表格数据时,会自动触发操作列中Button的onClick函数,表格渲染完成后,点击Button按钮,onClick函数不能被触发. // 定义表格表头数据 问题写法:  ...

  8. Java IO流基础总结

    前言 好久不用Java的IO流,把好多的基础知识都忘了,昨天在写一段代码,发现好多细节都忘了.那天在组织组内代码评审的时候,发现有人在乱用IO流相关的类,所以还是写篇文章,把这个知识点总结一下. IO ...

  9. SpringMVC底层执行原理

    一个简单的HelloSpringMVC程序 先在web,xml中注册一个前端控制器(DispatcherServlet) <?xml version="1.0" encodi ...

  10. Go语言学习目录

    第一章 Go环境搭建 1.1 Linux搭建Go环境 1.2 Mac搭建Go环境 1.3 Windows搭建Go环境 第二章 Go语言特性 2.1 Go特征 2.2 Go变量类型 2.3 Go内置函数 ...