使用python模拟登录网易邮箱网站
环境要求
- python 3.6
- chromedriver.exe 文件
人工登录
人工登录某个网站,首先需要用浏览器打开登录页面,然后在输入框中输入对应的账号和密码,最后点击登录,以下使用代码模拟以上过程达到登录效果
代码实现
from selenium import webdriver
import os
from selenium.webdriver.common.keys import Keys
import time
import pickle
import datetime
# 保存 cookie
def save_cookies(cookies):
pickle.dump(cookies, open(r"D:\zyn\cookies\net\hbyunan.pkl", 'wb'))
# 加载 cookie
def load_cookies(driver):
cookies = pickle.load(open(r"D:\zyn\cookies\net\hbyunan.pkl", 'rb'))
# 这里只将 domain 为 .yeah.net 和 .163.com 的加载进来
for cookie in cookies:
if cookie['domain'] == '.yeah.net' and cookie['domain'] == '.163.com':
driver.add_cookie(cookie)
# 判断是否离开了某个页面
def wait_leave_page(driver, url, max_sec=10):
time.time()
startTime = datetime.datetime.now();
while True:
if (datetime.datetime.now() - startTime).seconds > max_sec:
print('超过%d秒,页面没有离开%s' % (max_sec, driver.current_url))
return False
if driver.current_url.find(url) != -1:
return True
time.sleep(1)
def login():
# 加载 chrome 的 driver 这里会打开一个谷歌浏览器
# 注意 chromedriver.exe 文件的路径
driver = webdriver.Chrome(r"d:\chromedriver.exe")
# 打开网易邮箱登录页面
driver.get("http://yeah.net/")
assert "网易" in driver.title
# 因为 网易邮箱登录页面账号输入框在 <iframe id = 'x-URS-iframe' ... >... 中
# 这里先 跳到 这个 iframe 中
driver.switch_to.frame("x-URS-iframe")
# 根据 name 找到 密码输入框
# <input name="password" >
elem = driver.find_element_by_name("password")
# 清空原有内容
elem.clear()
# 填入密码
elem.send_keys("这里是密码")
# 同理填入 账号
elem = driver.find_element_by_name("email")
elem.clear()
elem.send_keys("hbyunan")
# 得到 登录按钮并单击
elem = driver.find_element_by_id("dologin")
elem.click()
# 等待 1s 并判断,是否能离开登录页面,如果能离开说明登录成功
time.sleep(1)
if wait_leave_page(driver, "mail"):
print("登录成功")
save_cookies(driver.get_cookies())
else:
print("登录失败")
if "__main__" == __name__:
login()
使用python模拟登录网易邮箱网站的更多相关文章
- Python手动构造Cookie模拟登录后获取网站页面内容
最近有个好友让我帮忙爬取个小说,这个小说是前三十章直接可读,后面章节需要充值VIP可见.所以就需要利用VIP账户登录后,构造Cookie,再用Python的获取每章节的url,得到内容后再使用 PyQ ...
- 【Python数据分析】Python模拟登录(一) requests.Session应用
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- [Python] Python 模拟登录,并请求
Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...
- Python爬虫模拟登录带验证码网站
问题分析: 1.爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 2.首先得明白 ...
- python selenium模拟登录163邮箱和QQ空间
最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...
- [Python] 模拟登录网站(。。为了之后操作数据。。)
我司的内部管理(Web)系统(日报)着实..(mafan).. 所以,就想自己动手增加一下便利性. 计划是, - 桌面程序 用来方便记录(按自己格式,数据随时保存到sqlite中,备用) 通过一览来确 ...
- Python模拟登录实战(一)
今天,学习了模拟登录新浪微博.模拟登录主要有两种方式,一.利用Cookie:二.模仿浏览器的请求,发送表单. 法一: Cookie:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...
随机推荐
- Redis哨兵、复制、集群的设计原理,以及区别
广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自 ...
- [SDOI2019]世界地图(kruskal重构树+虚树)
通过子任务1.3十分显然,子任务4实际上就是线段树,和我下午写的[SDOI2015]道路修建一模一样,堪称“我抄我自己”,不会的可以先做一下这个题. 然后考虑正解,参考了zhoushuyu的博客,首先 ...
- log4j日志配置和使用
一.日志配置变量参数说明 1. 日志设置说明:# log4j.rootLogger = debug,stdout,D,E# 等号之后的值表示appender对象,每个apperder对象表示一个日志输 ...
- 多因素线性回归|adjusted R^2|膨胀系数|非线性回归|Second-order model with 1 independent variable|Interaction model with 2 independent variables|偏相关|fraction[a]|contribution
多因素线性回归 系数由最小二乘法得到 R^2;adjusted R^2:变量变多之后,r^2自然变大,但是这不是反应客观事实,所以引入了adjusted R^2 使用散点图看独立性,也可以使用软件,c ...
- A4988驱动42步进电机
A4988步进电机驱动器驱动控制42步进电机速度,步进电机调速,调节驱动电流 1 A4988步进电机驱动器简介 方便使用,是我们这些用户最想要的,固有的名词和深入介绍在这就不多说了,您可 ...
- elasticsearch5.4安装
1.从官网下载ES 安装包: elasticsearch-.tar.gz 2.解压到要安装的目录 注意:一定要切换用户,不能用root用户解压,不能用root用户启动 tar -zxvf elasti ...
- Memcached的批量删除方案总结
Memcached的批量删除,向来是Memcached使用者很头疼的事情,因为Memcached采取的缓存方案是哈希表结构,所以没有办法实现delete from tablename where ke ...
- TB3_Autorace之交通杆检测
利用blob检测算法识别交通杆,控制TB3机器人完成对交通杆的起停动作! 上一篇博文中<TB3_Autorace之路标检测>订阅了原始图像信息,经过SIFT检测识别出道路交通标志,这里我们 ...
- Windows10下Linux系统的安装和使用
WSL 以往我都是直接安装VirtualBox,然后再下载Linux系统的ISO镜像,装到VirtualBox里运行. 改用Win10系统后,了解到了WSL(Windows Subsystem for ...
- Query对象与DOM对象之间的转换
什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test") ...