Python模拟登录和登录跳转的参考示例
作者:py3study 发布时间:2023-07-29 07:09:47
标签:python,模拟,登录,跳转
# coding:utf-8
import urllib
import urllib2
import cookielib
from bs4 import BeautifulSoup
# 设置登录url
login_url = "******************"
# 创建登录类
class Login(object):
#初始化
def __init__(self):
self.username = ''
self.password = ''
# 验证码
self.rode = ''
#设置cookie
self.cj = cookirlib,LWPCookieJar()
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
urllib2.install_opener(self.opener)
def setLoginInfo(self, username, passwoed ,rode):
"""设置登录用户信息"""
self.username = username
self.password = password
self.rode = rode
def login(self):
""""模拟登录"""
login_data = {'username': self.username, 'password': self.password, 'rode': self.rode}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2859.0 Safari/537.36'}
req = urllib2.Request(login_url, data=urllib.urlencode(login_data), headers=headers)
response = urllibs.urlopen(req)
# 加cookie, 自动保存seissionid,做后续跳转
self.operate = self.opener.open(req)
# 通过BeautifulSoup获取网页内容
soup = BeautifulSoup(response, 'lxml')
# 获取网页的content
data = soup.select('#content')
if data:
print u'模拟登录成功!', data
print u'模拟登录失败!'
def skip(self, skip_url):
"""
模拟登录成功后,跳转网页
----------------------------
传递跳转网页的url
"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2859.0 Safari/537.36'}
req = urllib2.Request(skip_url, headers=headers)
response = urllib2.urlopen(req)
soup = BeautifulSoup(response, 'lxml')
# 获取跳转后网页的title
print soup.title.string
if __name__ == "__main__":
userlogin = Login()
username = '***********'
password = '***********'
rode = '***********'
# 执行模拟登录方法
userlogin.login()
# 执行模拟登录成功后网页跳转方法
user_login.skip(skip_url = '***************')
来源:https://cloud.tencent.com/developer/article/1568777
0
投稿
猜你喜欢
- 新年钟声刚过,淘宝新版首页全“心”上线了,这次设计大胆的将布局从 960px 伸展至 1000px,页面更通透,新首页更大范围的实践了 HT
- 印刷和网络是不一样的。传统的布局排版并不适于网络,因为传统的印刷布局,几乎只想要什么样的平面效果都能很好的达到,但在网络上设计就很困难,尽管
- 基于Python2.7的版本环境,Python实现的数据库跨服务器(跨库)迁移, 每以5000条一查询一提交,代码中可以自行更改
- 一般的防止被框架方式或者被框架后自动转向,方法如下: if (top.location != self.loc
- 你是否曾经想在数据库中存储一个日期而没有时间部分,或者想存储一个时间值希望有更高的精度?在SQL Server 2008的介绍中,微软介绍了
- 1 Git简介Git 是目前世界上最先进的分布式版本控制系统(没有之一)作用: 源代码管理为什么要进行源代码管理?
- 秦歌这篇文章总结得很不错,俺挑刺来啦:1. 优先级的描述不严谨,有 !important 时,网页样式可以覆盖用户自定义样式。用户!impo
- A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.x
- 最近在公司做了微信支付的接入,这里总结下开发的一些经验注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关。微信支付的主要
- 只能是一些限定的东西运行代码框ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.
- PDO::beginTransactionPDO::beginTransaction 启动一个事务(PHP 5 >= 5.1.0, P
- 现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入"1900-01-01"
- Oracle不像SQLServer那样在存储过程中用Select就可以返回结果集,而是通过Out型的参数进行结果集返回的。实际上是利用REF
- 说到客户端数据存储,可能第一时间想到的是cookies,这是一种网站常见的存储数据的方法。它的最大优点是兼容性好,几乎所有浏览器都具有这个功
- 在印刷排版中“point”是一个绝对的单位,它等于 1/72 英寸。可以用尺子丈量的,物理的英寸。但在CSS中pt的含义
- 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
- 试一试这个办法:struserlist = struserlist & "<
- php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie:$_C
- 比如下面一个listbinfo = ['lao','wang','python']我们通过h
- 最近在做一个站点时,需要生成静态页面,但是生成的静态页面中有些内容是需要动态获取的,怎不能每天生成一下吧。。 最后上网查了一下,再加上个要总