登陆 renren.py
用了几次,后来就登不上了。改了,更登不上了。
#!/usr/bin/python # coding:UTF-8 # CopyRight 2011 Adou XD ,All Rights Reserved import urllib import urllib2 import os import sys import cookielib import re import socket from BeautifulSoup import BeautifulSoup class renren(): '''''' logdata = {} logdata['email'] = '' logdata['password'] = '' #logdata['icode'] = '' #logdata['autoLogin'] = 'true' logdata['origURL'] = 'http://www.renren.com/home' #logdata['domain'] = 'renren.com' #logdata['key_id'] = '1' #logdata['_rtk'] = '******' logdata['formName'] = '' logdata['method'] = '' logdata['isplogin'] = 'true' logdata['submit'] = '鐧诲綍' def login(self ,email ,psd ): renren.logdata['email'] = email renren.logdata['password'] = psd postdata = urllib.urlencode(renren.logdata) cookiefile = urllib2.HTTPCookieProcessor() self.opener = urllib2.build_opener(cookiefile) req = urllib2.Request('http://www.renren.com/PLogin.do',postdata) result = self.opener.open(req) ''' if result.geturl() != 'http://www.renren.com/home' and 'http://guide.renren.com/guide': print "Login Failed!" return False ''' rawHtml = result.read() open('out.html','w').write(rawHtml) tokens = re.findall( r"(?<=get_check:')[\-0-9]+" ,rawHtml) if not tokens : print "requestToken Not Found!" return False self.requestToken = tokens[0] rtks = re.findall( r"(?<=get_check_x:')[a-fA-F0-9]+" ,rawHtml) if not rtks : print "_rtk Not Found!" return False self.rtk= rtks[0] return True def poststatus(self,msg): statusdata = {'content':msg, 'isAtHome':'1', 'requestToken':self.requestToken } poststatus = urllib.urlencode(statusdata) updataReq = urllib2.Request('http://status.renren.com/doing/updateNew.do',poststatus) updataResult = self.opener.open(updataReq) def postmainstatus(self,msg) : statusdata = {'content':msg, 'isAtHome':'1', 'requestToken':self.requestToken, '_rtk':self.rtk, 'channel':'renren' } poststatus = urllib.urlencode(statusdata) #updataReq = urllib2.Request('http://page.renren.com/doing/update',poststatus) updataReq = urllib2.Request('http://shell.renren.com/601122810/status',poststatus) updataResult = self.opener.open(updataReq) if __name__ == "__main__": me = renren() if not me.login('username','password') : #print 'Login Failed!' sys.exit() me.postmainstatus("Hello,Pyton!")