节气生活,邮箱推送,提前预警,告别炎炎夏日下的束手无策

2023-05-16

初步分析 网站动态显示
故采取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_yu

import 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')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

节气生活,邮箱推送,提前预警,告别炎炎夏日下的束手无策 的相关文章

  • win11电脑开移动热点,但是手机连不上

    一 现象描述 电脑连接宽带 xff0c 然后用电脑开移动热点 前一天用手机连接热点的时候 xff0c 还是正常的 xff1b 今天连接的时候 xff0c 手机就显示 拒绝接入 寻找各种解决方法 xff0c 结果都无法解决我的问题 后来 xf
  • Android:使用RxJAva实现倒计时

    64 SuppressLint 34 SetTextI18n 34 private void startTimer mTvSend setEnabled false Observable intervalRange 1 60 0 1 Tim
  • linux的远程管理

    linux的远程管理 一 远程管理二 实现ssh远程管理无密码验证 一 远程管理 span class token comment 我们需要安装openssh软件包 span span class token punctuation spa
  • Uni-app 小程序 App 的广告变现之路:激励视频广告

    Intro 激励视频广告 xff0c 是cpm收益最高的广告形式 手机用户观看几十秒视频广告 xff0c 在广告播放完毕后可获得应用开发商提供的奖励 xff0c 而应用开发商则可以从广告平台获取不菲的广告收入 与开屏 信息流等广告变现方式不
  • 数据库查询50道题

    创建四张表 student sc course teacher CREATE DATABASE db 2 CHARSET 61 39 utf8 39 USE db 2 Student Sid Sname Sage Ssex 学生表 DROP
  • 如何使用Python实现图像文字识别OCR

    要使用Python实现图像文字识别OCR xff0c 可以使用以下步骤 xff1a 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎 xff0c 可以处理多种语言和字体 要使用Python进行OCR xff0c 需
  • C#获取指定日期所在周、月、年的第一天和最后一天

    需求 xff1a 给定一个日期 xff0c 获取日期所在周的周一 周日 xff0c 获取日期所在月的第一天和最后一天 xff0c 获取所在年份的第一天和最后一天 代码如下所示 span class token comment lt summ
  • STM32+W5500网络通信

    目录 一 W5500介绍二 资源分享三 例子程序四 实现应用层modbus httpd协议编程 xff08 一 xff09 modbus xff08 二 xff09 HTTPS 五 总结六 参考链接七 modbus和HTTPS源码 一 W5
  • 服务器部署code-server

    部署code service 思路 1 租用服务器 2 部署code service 3 映射端口 xff0c 修改配置文件 4 让服务一直挂在后台 5 配置C C 43 43 环境 购买服务器 xff0c 部署宝塔面板 这里采用腾讯的云服
  • Arch 中 fcitx5 提示拼音不可用的解决过程

    Arch 中 fcitx5 提示拼音不可用的解决过程 问题描述 xff1a 按照 Fcitx5 ArchWiKi 安装 fcitx5 后不能输入中文 xff0c 提示拼音不可用 查找解决办法 首先查看环境变量设置是否正确 xff1a etc
  • Vue3 setup函数的使用

    全新的 setup 函数 在开始编写 Vue 组件之前 xff0c 需要了解两个全新的前置知识点 xff1a 全新的 setup 函数 xff0c 关系到组件的生命周期和渲染等问题 写 TypeScript 组件离不开的 defineCom
  • Stm32的按键控制流水灯

    对于stm32的设置首先是对时钟进行启动 要求 xff1a key0控制LED0和LED1的亮 key1控制LED0和LED1的亮 kw up控制闪灯 led c span class token macro property span c
  • 头文件之间存在依赖关系该如何包含?

    本文旨在探讨头文件之间存在依赖关系时 xff0c 包含顺序的影响 分两种情况讨论 xff1a 头文件A单方面依赖头文件B xff1a struct h xff1a struct abc int num char ptr def h xff1
  • 单片机入门(利用中断控制流水灯的走向)--适合初学者

    电路图 点击下载 xff08 下载时可能会提醒不安全 xff0c 其实没事 xff0c 本博主是放在自己服务器上面 xff09 代码 span class token macro property span class token dire
  • python实现微信公众号定时消息提醒-手把手教你将代码部署到云端

    这两天微信公众号消息提醒蛮火的 xff0c 我也来蹭一下热度 xff0c 我们的主题是考研倒计时 xff0c 顺便也发一发天气预报 思路 xff1a 获取我们需要的数据 xff0c 比如天气信息 然后去微信公众平台注册一个测试号 xff0c
  • 【章节自测】第三章——顺序程序设计

    第三章 顺序程序设计 学校的老师在上程序设计这门课时 xff0c 给我们每一章指定了一些学习目标 xff0c 用于课前的预习和课后的具体检测复盘 xff0c 因为每一个目标都是具体可测的 xff0c 而只要所有的目标你都能达成 xff0c
  • C语言-进程——信号量

    system V的信号量其实是一个信号量数据 xff0c 一个sysyem V代表的是一个或多个信号量元素 信号量本质上是一个数字 xff0c 用来表征一种资源数量 xff0c 当多个进程或线程争夺这些稀缺资源的时候 xff0c 信号量用来
  • python将包(第三方库)安装到指定目录

    一 在指定目录安装python第三方库 target 61 D software anaconda envs PyTorch Lib 这里的target后面跟的是你python安装环境的lib目录 二 用指定源安装python库 这里用到了
  • Dockerfile详解

    Dockerfile 文章目录 基本结构指令详解FROMRUNLABEL MAINTAINERCOPYADDCMDENTRYPOINTENVARGVOLUMEEXPOSEWORKDIRUSERHEALTHCHECKONBUILD 创建镜像上
  • c++调用yolov4模型进行目标检测-使用opencv4.4.0

    前言 最近刚出的opencv4 4 0也支持了yolov4 xff0c 便尝试用opencv调用yolov4进行检测 xff0c 做个记录 当然 xff0c yolov3 yolov4 tiny等也能调用 xff0c 只需修改加载的cfg和

随机推荐