使用python在校内发人人网状态(人人网看状态)

876次阅读  |  发布于5年以前

复制代码 代码如下:

_*_coding:utf8

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)

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8