利用python模拟登录
来源:互联网 发布:递归算法解决迷宫问题 编辑:程序博客网 时间:2024/05/29 15:43
最近在学习网络爬虫,记录下详细过程以便以后查看。
利用python模拟登录,主要参考这篇文章http://blog.csdn.net/crazyuo/article/details/8662025,自己实现可以登录。
附上源码:
#encoding=utf-8import urllibimport urllib2import cookielibfrom _LWPCookieJar import LWPCookieJarfrom logging.handlers import HTTPHandler#登录界面的主页hosturl='http://www.renren.com'#需要将密码和用户名等发送到的页面,需要抓包#在firefox浏览器上登录,F12,找到POST,login,其中的请求网址即是#而参数里有表单需要填的东西posturl='http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2016401925736'#生成cookiecj=cookielib.LWPCookieJar()#LWPCookieJar返回的对象可以从硬盘加载Cookie,同时还能向硬盘读取Cookiecookie_support=urllib2.HTTPCookieProcessor(cj)opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)urllib2.install_opener(opener)#打开登录界面,获取cookie并将cookie保存下来h=urllib2.urlopen(hosturl)#构造头,方法和上面获取posturl方法一样headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', 'Referer':'http://www.renren.com/'}#表单数据,方法同上postdata={ 'email':"*****", #自己的邮箱 'icode':"", 'origURL':"http://www.renren.com/home", 'domain':"renren.com", 'key_id':"1", 'captcha_type':"web_login", 'password':"1b2f4dcaae1b6c35ae8e248d2c4e60ea09c97a771514763146936af23a0127f8",#加密后的密码 'rkey':"d0cf42c2d3d337f9e5d14083f2d52cb2", 'f':"http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNuOWcFY5vnkONBdyip4Gb465jXUQpVZlEwT1gOUJ6ry%26wd%3D%26eqid%3Dbbc02beb00346b3200000005574198bf" }#将数据进行编码postdata=urllib.urlencode(postdata)#构造一个请求request=urllib2.Request(posturl,postdata,headers)#发送一个请求response=urllib2.urlopen(request)#现在可以访问需要登录才能访问的页面了print urllib2.urlopen('http://www.renren.com').read()
在firefox浏览器上抓包,得到posturl,headers和postdata过程如下:
打开人人的登录主页,按F12开始抓包,登录人人,然后在下面找到POST,login什么的
其中消息头中的请求网址就是posturl,在请求头中可以找到headers
postdata在参数里
好了,差不多就这些了。
登录电驴的练习。 其中创建的cookie对象与上面有一些区别。
#encoding=utf-8import urllibimport urllib2import cookielibfrom _LWPCookieJar import LWPCookieJarfrom logging.handlers import HTTPHandlerhosturl='http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'posturl='http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'filename='cookie.txt'cj=cookielib.MozillaCookieJar(filename)cookie_support=urllib2.HTTPCookieProcessor(cj)opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)urllib2.install_opener(opener)h=urllib2.urlopen(hosturl)cj.save(ignore_discard=True, ignore_expires=True)headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', 'Referer':'http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'}postdata={ 'username':"", 'password':"", 'continue':"http://www.verycd.com/", 'fk':"", 'save_cookie':"1", 'login_submit':"登录" }postdata=urllib.urlencode(postdata)request=urllib2.Request(posturl,postdata,headers)response=urllib2.urlopen(request)print urllib2.urlopen('http://www.verycd.com/').read()
0 0
- 利用python模拟登录
- python利用cookie模拟登录
- 利用Python模拟淘宝自动登录
- 如何利用python模拟登录(附源码)
- [python 爬虫学习]利用cookie模拟网站登录
- python模拟登录微博网站利用urllib2 和 cookie
- python实现模拟登录
- python实现模拟登录
- python实现模拟登录
- python实现模拟登录
- python实现模拟登录
- python实现模拟登录
- python实现模拟登录
- python模拟浏览器登录
- python 模拟登录i
- python模拟百度登录
- python模拟登录
- python模拟登录
- 学习stm32--初涉STM32
- 如何得到 Google 的工作机会?
- 【学生信息管理系统】数据类型问题
- 上拉分页加载PullToRefreshGridView
- java:final和static初学
- 利用python模拟登录
- 新一代和12-factors:基准代码
- 模态对话框和非模态对话框
- Spanner vs. F1:谷歌两大数据管理利器的整体对比及关联
- Qt WebView js交互(new) 支持ios android 平台
- 在邓小平同志追悼大会上致悼词
- Matlab的高斯输入的PID仿真
- win10下git教程安装和配置(一)
- IP地址的两种表示方法:整数和点分十进制`