Posted in Python onFebruary 19, 2014
#_*_coding:utf_8_ from sgmllib import SGMLParser import sys, urllib2, urllib, cookielib import datetime, time class spider(SGMLParser): def __init__(self, email, password): SGMLParser.__init__(self) self.email = email self.password = password self.domain = 'renren.com' try: cookie = cookielib.CookieJar() # a class to handle HTTP cookies cookieProc = urllib2.HTTPCookieProcessor(cookie) except: raise else: opener = urllib2.build_opener(cookieProc) urllib2.install_opener(opener) def login(self): print '开始登录' url = 'http://www.renren.com/PLogin.do' #url = 'http://www.renren.com/SysHome.do' postdata = { 'email': self.email, 'password': self.password, 'domain': self.domain } # 一般情况下引入urllib2的地方都需要引入urllib,因为需要urlencode() req = urllib2.Request( url, urllib.urlencode(postdata) ) self.file = urllib2.urlopen(req).read() # urlopen后 成功后进入首页 因此self.file的内容就是首页的html文件的内容 # print self.file idPos = self.file.index("'id':'") self.id = self.file[idPos+6:idPos+15] tokPos = self.file.index("get_check:'") self.tok = self.file[tokPos+11:tokPos+21] rtkPos = self.file.index("get_check_x:'") self.rtk = self.file[rtkPos+13:rtkPos+21] def publish(self, content): url1 = 'http://shell.renren.com/' +self.id+ '/status' print 'self.id = ' , self.id postdata = { 'content': content, 'hostid': self.id, 'requestToken': self.tok, '_rtk': self.rtk, 'channel': 'renren', } req1 = urllib2.Request( url1, urllib.urlencode(postdata) ) self.file1 = urllib2.urlopen(req1).read() print datetime.datetime.now() print '刚才账号 %s发了一条状态' % self.email print '内容为: %s' % postdata.get('content', '') renrenspider = spider('qich555550@163.com', 'qishibo123') renrenspider.login() #content = raw_input('请输入状态的内容:') contents =["祝","各","位","同","学","盆","友","在","新","的","一","年","里","身","体","健","康","万","事","如","意","不小心刷屏了,望大家谅解"] #renrenspider.publish(content) #content = "新年快乐" #renrenspider.publish(content) #renrenspider.publish(content.decode('gb2312').encode('utf-8')) for content in contents: renrenspider.publish(content)
用这个程序就可以发状态刷屏了,只不过校内的状态不支持具体时间,看不出效果来,不然每隔两秒一条状态应该会让人惊讶的
使用python在校内发人人网状态(人人网看状态)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@