考研期间为了第一时间关注各大招生单位的调剂信息,写了一个网页更新检测的小脚本,一旦网页发布了新内容就会发邮件提醒。
1. 基本思路(以edge浏览器为例)
某网站的招生信息如下
按F12进入开发者模式,选择元素,可以逐步定位第一个标题的路径
当有消息更新时,第一条标题一般会发生改变。我们通过爬虫不断爬取这条标题,当这条标题发生改变时,发送邮件即可。
在右侧的工具栏里这条标题上点击右键,复制,复制完整的XPath即可得到这个标题的Xpath,从而可以让爬虫直接从网页中提取出这条标题。
当然也有更为便捷的方案,安装SelectorsHub - Microsoft Edge Addons 扩展后,可以直接在标题右键复制xpath
2. 代码实现
2.1 主要依赖库
from lxml import etree
import csv
import requests
from email.mime.text import MIMEText
import smtplib
import time
import random
from fake_useragent import UserAgent
import traceback
2.2 邮件发送功能实现
sender = '[email protected]' # 消息发送的邮箱
smtpserver = 'mail.ustc.edu.cn' # 消息发送邮箱的服务器
username = '[email protected]' # 消息发送的邮箱用户名,一般通消息发送的邮箱
password = 'xxxxxxx' # 消息发送邮箱的密码
receivers =