Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > python入门

Python源码实例:在校内发人人网状态(人人网看状态)

来源:中文源码网    浏览:203 次    日期:2024-05-18 18:44:52
【下载文档:  Python源码实例:在校内发人人网状态(人人网看状态).txt 】


使用python在校内发人人网状态(人人网看状态)
复制代码 代码如下:#_*_coding:utf_8_
from sgmllib import SGMLParserimport sys, urllib2, urllib, cookielibimport 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)
用这个程序就可以发状态刷屏了,只不过校内的状态不支持具体时间,看不出效果来,不然每隔两秒一条状态应该会让人惊讶的

相关内容