前段时间国际飞机票非常难买,所以做了个小程序自动点击来监控机票网站(东方航空)的刷新。(虽然最后也没有刷到票,不过学习了一下简单的爬虫知识和发邮件的代码,改写后还能为自己使用,挺不错的)。
依赖环境:selenium,chrome driver,smtplib
用selenium中的by_css_selector来做的。在chrome中按F12进入开发者模式,有个小鼠标,将小鼠标对准某个元素,显示的蓝色字体部分就是css的定位码。 有时候网速太慢,需要通过sleep来提供足够的加载等待时间。
随后用smtplib来发邮件。(注意设置的代理邮箱里面需要设置POP3/SMTP服务的权限)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium. webdriver.support.wait import WebDriverWait
import datetime
import time
from pyquery import PyQuery as pq
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
def send_massage(happy_title,happy_news):
# 1. 连接邮箱服务器
con = smtplib.SMTP_SSL('smtp.qq.com', 465)
# 2. 登录邮箱
con.login('10001@qq.com', 'sgvvlcegqtihbdch')
# 2. 准备数据
# 创建邮件对象
msg = MIMEMultipart()
# 设置邮件主题
subject = Header(happy_title, 'utf-8').encode()
msg[