定时功能,即程序可以根据我们设定的时间自动爬取数据;
通知功能,即程序可以把爬取到的数据结果以邮件的形式自动发送到我们的邮箱。
程序分成三个功能块:【爬虫】+【邮件】+【定时】。
对爬虫部分,主要是获取并提取网页数据;而对通知部分,选择的是用邮件来通知,我们将使用smtplib、email库来实现这一需求;对定时功能,有一个schedule,方便好用。
1 爬虫部分
1 网页的元素定位:requests模块
2 数据的获取:BeautifulSoup模块
2 用邮件来发送爬虫结果
1 连接服务器:smtplib库。若使用网易邮箱,网络搜寻网易邮箱的smtp服务器。
import smtplib
#smtplib是python的一个内置库,所以不需要用pip安装
mailhost='smtp.qq.com'
#把qq邮箱的服务器地址赋值到变量mailhost上,地址需要是字符串的格式。
qqmail = smtplib.SMTP()
#实例化一个smtplib模块里的SMTP类的对象,这样就可以使用SMTP对象的方法和属性了
qqmail.connect(mailhost,25)
#连接服务器,第一个参数是服务器地址,第二个参数是SMTP端口号。
2 登录邮箱代码:
import smtplib
#smtplib是python的一个内置库,所以不需要用pip安装
mailhost='smtp.qq.com'
#把qq邮箱的服务器地址赋值到变量mailhost上
qqmail = smtplib.SMTP()
#实例化一个smtplib模块里的SMTP类的对象,这样就可以SMTP对象的方法和属性了
qqmail.connect(mailhost,25)
#连接服务器,第一个参数是服务器地址,第二个参数是SMTP端口号。
#以上,皆为连接服务器的代码
account = input('请输入你的邮箱:')
#获取邮箱账号
password = input('请输入你的密码:')
#获取邮箱密码
qqmail.login(account,password)
#登录邮箱,第一个参数为邮箱账号,第二个参数为邮箱密码
receiver=input('请输入收件人的邮箱:')
#获取收件人的邮箱
3 发送邮件和退出邮箱
i