使用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:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...
随机推荐
- 吴裕雄--天生自然 pythonTensorFlow自然语言处理:交叉熵损失函数
import tensorflow as tf # 1. sparse_softmax_cross_entropy_with_logits样例. # 假设词汇表的大小为3, 语料包含两个单词" ...
- A brief introduction to complex analysis
\(\underline{Def:}\)A func \(U(\subset \mathbb{C}) \stackrel{f}\longrightarrow \mathbb{C}\)is (compl ...
- APUE 书中 toll 函数
今天看unix环境高级编程时,随着书上的源码打了一遍,编译时提示 toll函数未定义, 找了半天(恕我对上下文不了解).看了英文版和源代码文件才知道, 中文版打印错了: toll => atol ...
- Maven配置阿里云问题
现在我们经常会与Maven打交道,无论是工作还是自己的练笔,因为它真的是太强大了.它可以帮助我们管理版本,jar包等等. 但是由于国内的环境问题,我们需要有一个仓库,有些公司会自己搭建私服,那对个人来 ...
- 2)#ifndef和#pragma once
#################################################################################################### ...
- 1)PHP,数据库操作类网址
(1)脚本之家 http://www.jb51.net/article/94347.htm (2)一个博客 http://www.cnblogs.com/lvchenfeng/p/5003629.ht ...
- 不同SQL数据库之间表数据的实时同步-发布与订阅
https://blog.csdn.net/rand_muse/article/details/81326879 上述文章中,如果是实时同步,选择 事务发布即可 在快照代理 那里,不需要勾选 运行 ...
- PAT甲级——1042 Shuffling Machine
1042 Shuffling Machine Shuffling is a procedure used to randomize a deck of playing cards. Because s ...
- [LC] 293. Flip Game
You are playing the following Flip Game with your friend: Given a string that contains only these tw ...
- [LC] 61. Rotate List
Given a linked list, rotate the list to the right by k places, where k is non-negative. Example 1: I ...