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 相关文章推荐
Python 备份程序代码实现
Mar 06 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python tkinter界面居中显示的方法
Oct 11 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
python实现转圈打印矩阵
Mar 02 Python
python利用7z批量解压rar的实现
Aug 07 Python
python如何将多个PDF进行合并
Aug 13 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
解决python使用list()时总是报错的问题
May 05 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
python脚本框架webpy模板控制结构
Nov 20 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
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
如何判断php数组的维度
2013/06/10 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
javascript背投广告代码的完善
2008/04/08 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
详解python调度框架APScheduler使用
2017/03/28 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
讲座主持词
2014/03/20 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
公司给客户的感谢信
2015/01/23 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
会计求职信怎么写
2015/03/20 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
飞越疯人院观后感
2015/06/09 职场文书
婚礼答谢词范文
2015/09/29 职场文书
小学音乐课教学反思
2016/02/18 职场文书