python cookielib 登录人人网的实现代码


Posted in Python onDecember 19, 2012

先上脚本吧,等下来讲下知识点:

#!/usr/bin/env python 
#encoding=utf-8 
import sys 
import re 
import urllib2 
import urllib 
import cookielib class Renren(object): 
def __init__(self): 
self.name = self.pwd = self.content = self.domain = self.origURL = '' 
self.operate = ''#登录进去的操作对象 
self.cj = cookielib.LWPCookieJar() 
try: 
self.cj.revert('renren.coockie') 
except Exception,e: 
print e 
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj)) 
urllib2.install_opener(self.opener) 

def setinfo(self,username,password,domain,origURL): 
'''设置用户登录信息''' 
self.name = username 
self.pwd = password 
self.domain = domain 
self.origURL = origURL 
def login(self): 
'''登录人人网''' 
params = {'domain':self.domain,'origURL':self.origURL,'email':self.name, 'password':self.pwd} 
print 'login.......' 
req = urllib2.Request( 
'http://www.renren.com/PLogin.do', 
urllib.urlencode(params) 
) 
self.operate = self.opener.open(req) 
if self.operate.geturl() == 'http://www.renren.com/Home.do': 
print 'Logged on successfully!' 
self.cj.save('renren.coockie') 
self.__viewnewinfo() 
else: 
print 'Logged on error' 
def __viewnewinfo(self): 
'''查看好友的更新状态''' 
self.__caiinfo() 

def __caiinfo(self): 
'''采集信息''' 
h3patten = re.compile('<h3>(.*?)</h3>')#匹配范围 
apatten = re.compile('<a.+>(.+)</a>:')#匹配作者 
cpatten = re.compile('</a>(.+)\s')#匹配内容 
infocontent = self.operate.readlines() 
# print infocontent 
print 'friend newinfo:' 
for i in infocontent: 
content = h3patten.findall(i) 
if len(content) != 0: 
for m in content: 
username = apatten.findall(m) 
info = cpatten.findall(m) 
if len(username) !=0: 
print username[0],'说:',info[0] 
print '----------------------------------------------' 
else: 
continue 
ren = Renren() 
username = ''#你的人人网的帐号 
password = ''#你的人人网的密码 
domain = 'renren.com'#人人网的地址 
origURL = 'http://www.renren.com/Home.do'#人人网登录以后的地址 
ren.setinfo(username,password,domain,origURL) 
ren.login()

主要用到了python cookielib,urllib2,urllib这3个模块,这3个模块是python做http这方面比较好的模块.

self.cj = cookielib.LWPCookieJar()

try:
self.cj.revert('renren.coockie')
except Exception,e:
print e
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))

urllib2.install_opener(self.opener)
这几行是在本地建立人人网的cookies,因为人人网要验证cookies才能登录,你运行这个脚本的话,会发现在当前目录 有个程序会自动建立一个renren.cookie这个文件。

我这里renren.cookie的信息是: #LWP-Cookies-2.0 Set-Cookie3: WebOnLineNotice_244225225=1; path="/"; domain=".renren.com"; path_spec; domain_dot; expires="2010-04-11 06:59:33Z"; version=0 总结一下如果网站登录要用cookie的话,就要用到cookielib这个模块,不然你用程序登录不了网站,过断时间在写个urlib的例子,大家可以先用上面这个脚本玩玩!体会下python 人人网代码的乐趣!

Python 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
python中的代码编码格式转换问题
Jun 10 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
python实现转圈打印矩阵
Mar 02 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
Python3列表List入门知识附实例
Feb 09 Python
python中print格式化输出的问题
Apr 16 Python
python 多线程应用介绍
Dec 19 #Python
Python多线程学习资料
Dec 19 #Python
python搭建简易服务器分析与实现
Dec 15 #Python
Python笔记(叁)继续学习
Oct 24 #Python
python笔记(2)
Oct 24 #Python
python笔记(1) 关于我们应不应该继续学习python
Oct 24 #Python
Python的一些用法分享
Oct 07 #Python
You might like
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
srcElement表格样式
2006/09/03 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
浅谈python中的占位符
2017/11/09 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
PHP如何去执行一个SQL语句
2016/03/05 面试题
简述数组与指针的区别
2014/01/02 面试题
冰淇淋店的创业计划书
2014/02/07 职场文书
精彩的广告词
2014/03/19 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
个人投资合作协议书
2014/10/12 职场文书
个人维稳承诺书
2015/05/04 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android