初步分析 网站动态显示
故采取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. 天气预报,邮箱推送,提前预警,告别炎炎夏日下的束手无策

    1.分析url url="http://www.weather.com.cn/weather/101110101.shtml" 2.使用bs4查找所系信息,编写getdata 函数 ...

  2. 都是远程办公惹的祸!搜狗输入法为错误推送地震预警信息致歉

    今日凌晨,搜狗输入法在官方微博为错误推送地震预警信息一事致歉,称此次错误推送为技术团队于3日上午进行了一轮新技术测试,但由于相关人员在家远程办公,对服务器进行了误操作,因此错误地推送了地震预警信息. ...

  3. java项目——发邮件之阿里云邮箱推送服务(一)

    最近做项目的时候用到了阿里云的邮箱推送.首先站在我自己的理解的角度,为什么要用阿里云邮箱推送服务? 首先从万网说起. 中国万网是中国最大的互联网基础服务提供商之一,服务范围涵盖基础的域名服务.主机服务 ...

  4. 【Home Assistant 之QQ邮箱推送提醒】

    [Home Assistant 之QQ邮箱推送提醒] 1. 前言 2. 操作流程 2.1 下载 2.2 安装 2.3 使用 2.4 手机推送 欢迎大家阅读2345VOR的博客[Home Assista ...

  5. 给女朋友做的每日消息推送微信公众号和邮箱推送

    前言: 最近看见好多做这个微信公众号推送的,其实不难很简单,自己也做了一个给女朋友,用了微信公众号推送和邮箱推送两个版本 网上大多是python版本,我用的是php分别写的微信和邮箱两个推送 项目地址 ...

  6. JAVA实现QQ邮箱推送邮件

    JAVA实现QQ邮箱推送邮件 文章目录 JAVA实现QQ邮箱推送邮件 准备 一.在项目中引入JavaMail包 二.开始实现 1.我们在Service类里面编写一个方法,这个方法接收两个参数:1收件人 ...

  7. 微博Rss邮箱推送系统

    微博Rss邮箱推送系统 微博Rss邮箱推送 ? Weibo subscription and sentiment analysis. 假期在家无聊,想到做一个微博订阅系统,可以将朋友or女朋友的微博更 ...

  8. 消息推送平台高可用实践(下)

    消息推送平台高可用实践(下) 消息推送平台现已为几十个产品提供推送服务,同时在线用户连接数超过300w,日收发消息量达几千万,对消息的实时性和可靠性均提出了较高的要求.上篇 从架构设计和部署方案角度介 ...

  9. 程序控制发送文件到邮箱_Kindle电子邮箱推送

    Kindle 推送支持的格式 目前 Kindle 推送仅支持以下几种格式.需要注意的是,AZW 和 AZW3 是两种不同的格式,虽然这两种格式 Kindle 设备都支持阅读,但是亚马逊的个人文档服务支 ...

最新文章

  1. 设计模式之代理模式(Proxy Pattern)
  2. ABAP 数字处理相关内容备注
  3. notepad正则表达式替换_正则表达式装逼(实用)指南
  4. Unity HDRP渲染管线基础指南
  5. 一步步编写操作系统 39 二级页表1
  6. 圆管当量直径_截面相同时,正方型截面的当量直径大于圆管直径。( )。
  7. [机器学习-sklearn]K-means之make_blobs聚类数据生成器
  8. 我在项目中对 MySQL 做的优化
  9. 借助 OpenGL* ES 2.0 实现动态分辨率渲染
  10. 2019年web前端全集_2019年最佳30+ Web工具
  11. CITRIX环境下无法打印原因方法
  12. CSS中常用中文字体(font-family)的英文名称
  13. 工具说明书 - 滚动截屏和录屏软件ShareX
  14. dell最新计算机如何U盘引导,详解戴尔台式电脑如何bios设置U盘启动
  15. 整合springmvc+mybatis+veloctiy二
  16. Visual Studio Code 基本插件
  17. 传奇怎样在脚本里添加见人就飞
  18. ai与虚拟现实_AI使虚拟现实和增强现实更加真实的8种方式
  19. 选项菜单和子菜单(SubMenu)
  20. Spring AOP中定义切点的详细介绍

热门文章

  1. UE4 制作十字准心+后坐力
  2. VMware安装安卓模拟器
  3. 上海亚商投顾:沪指收跌0.62% 东数西算板块逆势领涨
  4. VC应用 -个性化你的工具栏图标
  5. 巴菲特致股东的一封信
  6. PowerPoint2003上嵌入Excel Sheet
  7. ipv6地址技术详解
  8. unity集成InAppPurchase,发布GooglePlay,并在GooglePlay上下载应用,吊起Google支付全流程
  9. 三菱FX3uPLC和安邦信变频器通讯程序
  10. puppy linux wifi6,Puppy Linux衍生版Fatdog64 720发布,搭载Linux 4.14与UEFI安装程序