最近学习了利用python爬虫,甚是有趣。所以写了个试用的小程序分享出来。
学院的相关通知都会放在网站的信息公告上,但每天打开电脑->打开浏览器->打开学院网站,就为了看个信息公告,挺麻烦还容易忘记。但害怕错过重要通知,又不得不看。
所以,我就想,能不能让我的云服务器自动爬取学院网站的信息公告,把信息公告做HTML格式的e-mail,然后每天早上9点钟定时自动给我发一封邮件呢。在这封邮件里面,我可以看到最近发布的通知,点击通知能够直接链接到通知详情页面。
说干就干,代码其实也就几十行而已。
首先介绍下代码中用到的一些python库:
from bs4 import BeautifulSoup
import requests
import codecs
import smtplib
from email.mime.text import MIMEText
import time
其中,BeautifulSoup是爬虫库,用来解析HTML网页;requests库用于向学校网站发送请求,GET下来网页;codecs是个编码库,可以用'utf-8'编码格式打开文件;stmplib是发送邮件用的;time用于定时。
【步骤1】锁定信息公告在HTML的位置
class GrabNews():
def __init__(self):
self.NewsList = []
def getNews(self