节气生活,邮箱推送,提前预警,告别炎炎夏日下的束手无策
初步分析 网站动态显示
故采取selenium爬取
第一步安装Googledrive,phantomjs,pip install selenium。
1.xpath查找“切换”节点
element01=browser.find_element(by=By.XPATH, value="//h1//span[2]")
2.模拟点击
3.xpath寻找文本框节点
element02 = browser.find_element(By.ID, 'cityInput')
4.文本框输入信息
element03=browser.find_element(By.ID,"xxxxxxxxx") #分析html 单纯输入城市名称 不会直接返回到文本框 分析发现每个城市有着对应9位数代码 直接在文本框内输入城市代码即可
5.模拟点击
6.xpth寻找所需数据即可
# -*- coding =utf-8 -*-
# @time : 2022.5.7 17:30
# @software: PyCharm
# Author:Xiao_yuimport selenium
import smtplib
from selenium import webdriver
import time
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
from selenium.webdriver.common.by import By
# from selenium.webdriver.chrome.options import Options
# chrome_options = Options()
# chrome_options.add_argument('--headless')
# chrome_options.add_argument('--disable-gpu')
# chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])
# browser = webdriver.Chrome(chrome_options = chrome_options)my_sender=input("输入你的QQ邮箱账号:")
my_pass=input("输入你自己QQ邮箱开启smtp后生成的一串代码:")
my_user=input("接受者的邮箱账号:")
wait_time=180
url='http://www.weather.com.cn/life/'
# browser=webdriver.PhantomJS('C:/Users/wangningmei/AppData/Local/Programs/Python/Python39/phantomjs.exe')
browser=webdriver.Chrome()
browser.maximize_window()
browser.get(url)
time.sleep(5)
browser.implicitly_wait(10)
element01=browser.find_element(by=By.XPATH, value="//h1//span[2]")
browser.execute_script("arguments[0].click();", element01)
element02 = browser.find_element(By.ID, 'cityInput')
element02.send_keys('xxxxxxxxx')#城市代码
element03=browser.find_element(By.ID,"xxxxxxxxx")#城市代码
browser.execute_script("arguments[0].click();", element03)
dataray=[]
dataclothes=[]
time.sleep(5)
data01=browser.find_elements(by=By.XPATH, value="//div[@class='second']//a//dl[1]")
for i in data01:dataray.append(i.text)
data02=browser.find_elements(by=By.XPATH, value="//div[@class='you']//div[contains(@style, 'display: block;')]")
for i in data02:dataclothes.append(i.text)
# print(dataray)
# print(dataclothes[1])
msg = MIMEText("life:"+'\n'+dataray[0]+'\n'+dataray[1]+'\n'+dataray[2]+'\n'+"clothes:"+'\n'+dataclothes[1],'plain','utf-8')
msg['From']=formataddr(["your name",my_sender])# msg["To"] = Header(",".join(my_user))
msg['Subject']='简洁的标题'
server=smtplib.SMTP_SSL("smtp.qq.com",465)
server.login(my_sender,my_pass)
server.sendmail(my_sender,my_user,msg.as_string())
server.quit()
print('over')
节气生活,邮箱推送,提前预警,告别炎炎夏日下的束手无策相关推荐
- 天气预报,邮箱推送,提前预警,告别炎炎夏日下的束手无策
1.分析url url="http://www.weather.com.cn/weather/101110101.shtml" 2.使用bs4查找所系信息,编写getdata 函数 ...
- 都是远程办公惹的祸!搜狗输入法为错误推送地震预警信息致歉
今日凌晨,搜狗输入法在官方微博为错误推送地震预警信息一事致歉,称此次错误推送为技术团队于3日上午进行了一轮新技术测试,但由于相关人员在家远程办公,对服务器进行了误操作,因此错误地推送了地震预警信息. ...
- java项目——发邮件之阿里云邮箱推送服务(一)
最近做项目的时候用到了阿里云的邮箱推送.首先站在我自己的理解的角度,为什么要用阿里云邮箱推送服务? 首先从万网说起. 中国万网是中国最大的互联网基础服务提供商之一,服务范围涵盖基础的域名服务.主机服务 ...
- 【Home Assistant 之QQ邮箱推送提醒】
[Home Assistant 之QQ邮箱推送提醒] 1. 前言 2. 操作流程 2.1 下载 2.2 安装 2.3 使用 2.4 手机推送 欢迎大家阅读2345VOR的博客[Home Assista ...
- 给女朋友做的每日消息推送微信公众号和邮箱推送
前言: 最近看见好多做这个微信公众号推送的,其实不难很简单,自己也做了一个给女朋友,用了微信公众号推送和邮箱推送两个版本 网上大多是python版本,我用的是php分别写的微信和邮箱两个推送 项目地址 ...
- JAVA实现QQ邮箱推送邮件
JAVA实现QQ邮箱推送邮件 文章目录 JAVA实现QQ邮箱推送邮件 准备 一.在项目中引入JavaMail包 二.开始实现 1.我们在Service类里面编写一个方法,这个方法接收两个参数:1收件人 ...
- 微博Rss邮箱推送系统
微博Rss邮箱推送系统 微博Rss邮箱推送 ? Weibo subscription and sentiment analysis. 假期在家无聊,想到做一个微博订阅系统,可以将朋友or女朋友的微博更 ...
- 消息推送平台高可用实践(下)
消息推送平台高可用实践(下) 消息推送平台现已为几十个产品提供推送服务,同时在线用户连接数超过300w,日收发消息量达几千万,对消息的实时性和可靠性均提出了较高的要求.上篇 从架构设计和部署方案角度介 ...
- 程序控制发送文件到邮箱_Kindle电子邮箱推送
Kindle 推送支持的格式 目前 Kindle 推送仅支持以下几种格式.需要注意的是,AZW 和 AZW3 是两种不同的格式,虽然这两种格式 Kindle 设备都支持阅读,但是亚马逊的个人文档服务支 ...
最新文章
- 设计模式之代理模式(Proxy Pattern)
- ABAP 数字处理相关内容备注
- notepad正则表达式替换_正则表达式装逼(实用)指南
- Unity HDRP渲染管线基础指南
- 一步步编写操作系统 39 二级页表1
- 圆管当量直径_截面相同时,正方型截面的当量直径大于圆管直径。( )。
- [机器学习-sklearn]K-means之make_blobs聚类数据生成器
- 我在项目中对 MySQL 做的优化
- 借助 OpenGL* ES 2.0 实现动态分辨率渲染
- 2019年web前端全集_2019年最佳30+ Web工具
- CITRIX环境下无法打印原因方法
- CSS中常用中文字体(font-family)的英文名称
- 工具说明书 - 滚动截屏和录屏软件ShareX
- dell最新计算机如何U盘引导,详解戴尔台式电脑如何bios设置U盘启动
- 整合springmvc+mybatis+veloctiy二
- Visual Studio Code 基本插件
- 传奇怎样在脚本里添加见人就飞
- ai与虚拟现实_AI使虚拟现实和增强现实更加真实的8种方式
- 选项菜单和子菜单(SubMenu)
- Spring AOP中定义切点的详细介绍
热门文章
- UE4 制作十字准心+后坐力
- VMware安装安卓模拟器
- 上海亚商投顾:沪指收跌0.62% 东数西算板块逆势领涨
- VC应用 -个性化你的工具栏图标
- 巴菲特致股东的一封信
- PowerPoint2003上嵌入Excel Sheet
- ipv6地址技术详解
- unity集成InAppPurchase,发布GooglePlay,并在GooglePlay上下载应用,吊起Google支付全流程
- 三菱FX3uPLC和安邦信变频器通讯程序
- puppy linux wifi6,Puppy Linux衍生版Fatdog64 720发布,搭载Linux 4.14与UEFI安装程序