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 相关文章推荐
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
django模板语法学习之include示例详解
Dec 17 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
python读取TXT每行,并存到LIST中的方法
Oct 26 Python
python 同时运行多个程序的实例
Jan 07 Python
简单分析python的类变量、实例变量
Aug 23 Python
linux下python中文乱码解决方案详解
Aug 28 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
python模块内置属性概念及实例
Feb 18 Python
python执行js代码的方法
May 13 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
php通过字符串调用函数示例
2014/03/02 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
layer插件select选中默认值的方法
2018/08/14 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
js实现简单点赞操作
2020/03/17 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
Python decimal模块使用方法详解
2020/06/08 Python
Python中的With语句的使用及原理
2020/07/29 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
总裁岗位职责
2013/12/04 职场文书
校长就职演讲稿
2014/01/06 职场文书
个人工作主要事迹
2014/05/08 职场文书
村居抓节水倡议书
2014/05/19 职场文书
党课心得体会范文
2014/09/09 职场文书
工伤事故证明
2014/10/20 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书