Python模拟登陆[通俗易懂]

Python模拟登陆

大家好,又见面了,我是全栈君。

模拟人人登陆

#encoding=utf-8
import urllib2
import urllib
import cookielib
def renrenBrower(url,user,password):
    #登陆页面,能够通过抓包工具分析获得,如fiddler。wireshark
    login_page = "http://www.renren.com/PLogin.do"
    try:
        #获得一个cookieJar实例
        cj = cookielib.CookieJar()
        #cookieJar作为參数,获得一个opener的实例
        opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        #伪装成一个正常的浏览器,避免有些webserver拒绝訪问。

opener.addheaders = [('User-agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0')] #生成Post数据。含有登陆username密码。

data = urllib.urlencode({"email":user,"password":password}) #以post的方法訪问登陆页面,訪问之后cookieJar会自定保存cookie opener.open(login_page,data) #以带cookie的方式訪问页面 op=opener.open(url) #读取页面源代码 data= op.read() return data except Exception,e: print "aaaa"#訪问某用户的个人主页,事实上这已经实现了人人网的签到功能。http://blog.chinaunix.net/uid-25979788-id-3481639.htmlprint renrenBrower("http://www.renren.com/home","1574038203@qq.com","123456")

分析下:

模拟登陆的时候是post请求。提交表单的地址和人人界面登陆地址是不一样的,实际是人人界面的登陆地址。也就是wwww.renren.cm.你输入你的信息以后它会自己主动跳转到
http://www.renren.com/PLogin.do
那么我们是怎么知道表单提交地址呢?
1:查看站点代码
2:查看表单
提前表单的须要的数据
如:


Python模拟登陆[通俗易懂]

form中间就是整个表单

能够看箭头指向的地方:
post请求须要username,password,origURL,domain,key_id,captcha_type等。可是后面三个是不变的,不须要加上去。仅仅要前两个即可
我模拟csdn登陆的时候。五个參数。出去username和paassword以外有两个參数是动态变化的。我静态赋值,一直登不上,郁闷。记住了假设要动态获取的一定要动态获取


好,那我们来看看模拟csdn登陆的话
Python模拟登陆[通俗易懂]


以下两个箭头指向的两个数据的value是动态变化的。所以假设要模拟登陆的话。须要动态获取这个值

占时我还不会,贴个我的错误代码,有大神能帮我改改,怎么动态获取这两个值
import urllib
import urllib2
import cookielib
 
filename = 'cookie1.txt'
#声明一个MozillaCookieJar对象实例来保存cookie。之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
postdata = urllib.urlencode({
            "username":"xxxxxxxx,
            "password":"xxxxxxxx",
            "lt":"LT-381024-pHXsjYjSgZ2aR9P4QrG9YQ6rneqlhg",
            "execution" : "e20s1",
            "_eventId" : "submit"  
    
        })
#登录的URL
loginUrl = 'https://passport.csdn.net/account/login 

'
#模拟登录。并把cookie保存到变量
result = opener.open(loginUrl,postdata)
#保存cookie到cookie.txt中
cookie.save(ignore_discard=True, ignore_expires=True)
#利用cookie请求訪问还有一个网址
gradeUrl = 'http://write.blog.csdn.net/postlist 

'
#请求訪问查询网址
result = opener.open(gradeUrl)
print result.read()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116055.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 几种java反编译软件的安装以及使用总结

    几种java反编译软件的安装以及使用总结公司要和别的公司合作,有些代码不希望让他们知道,最近老大们在弄代码混淆的事,而我就做起了测试代码混淆的工作。印象笔记更新之后不能用了,就整理在博客上吧。下面是在网上找的几种反编译软件的安装以及使用:一、JD-JUI官网下载链接:http://jd.benow.ca/下载之后解压,点击“jd-gui.exe”运行:直接将".jar"文件拖入进去即可查看里边的“.class”文件,如上图所示。二:Lu…

    2022年6月3日
    46
  • 行为识别Action Detection概述及资源合集(持续更新…)「建议收藏」

    行为识别Action Detection概述及资源合集(持续更新…)「建议收藏」随着深度学习技术的发展,以及计算能力的进步(GPU等),现在基于视频的研究领域越来越受到重视。视频与图片最大的不同在于视频还包含了时序上的信息,此外需要的计算量通常也大很多。这篇主要介绍ActionRecognition(行为识别)这个方向。这个方向的主要目标是判断一段视频中人的行为的类别,所以也可以叫做HumanActionRecognition。虽然这个问题是针对视频中人的动作,但基…

    2022年6月21日
    37
  • 图书销售管理系统的可行性研究背景搜集和前提分析

    图书销售管理系统的可行性研究背景搜集和前提分析完成小组成员:大佬(20160401084)DEDRAGON(20160401094)1引言1.1编写目的可行性研究的目的是研究图书管理系统的总体需求、实现方案,并分析开发系统的可行性,为决策者提供是否开发该系统的依据和建议。初拟系统实验报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。1.2背景项目名称:图书…

    2022年5月20日
    60
  • VIF 多重共线性膨胀因子

    VIF 多重共线性膨胀因子方差膨胀系数(varianceinflationfactor,VIF)是衡量多元线性回归模型中复(多重)共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。多重共线性是指自变量之间存在线性相关关系,即一个自变量可以是其他一个或几个自变量的线性组合。若存在多重共线性,计算自变量的偏回归系数时矩阵不可逆。其表现主要有:整个模型的方差分析结果与各个自变量的回归系数的检验结果不一致,专业判断有统计学意义的自变量检验结果却无意义,自变量的系数或符号与实际情况严重不符等

    2022年6月7日
    34
  • JS字符串补全方法padStart()和padEnd()简介

    JS字符串补全方法padStart()和padEnd()简介一、关于字符串补全在JS中,字符串补全是常用操作,用的比较多的就是时间或者日期前面的补0。例如,日期,我们多采用4-2-2的表示形式,例如:2018-07-23当我们使用时间戳进行月份获取的时候,是没有前面的0的,例如:varmonth=newDate().getMonth()+1;//结果是7此时,就需要进行补全,通常做法是这样:if(month<10){month=’0’+month;}甚至会专门定义一

    2025年10月11日
    4
  • Oracle联合索引

    Oracle联合索引Oracle联合索引分类:Oracle2012-12-0809:352110人阅读评论(0)收藏举报我现在用的是oracle9i1.一个表建立多少个索引比较合适?比如说不大于5个这个没有定论,楼主要综合查询效率和dml效率自己确定,索引可以加快select的查询速度,但也会降低delete,insert和update等dml语句的执行速度。2.联…

    2022年5月26日
    121

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号