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


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 相关文章推荐
python将html转成PDF的实现代码(包含中文)
Mar 04 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
python 实现在Excel末尾增加新行
May 02 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
python创建n行m列数组示例
Dec 02 Python
Python xlwt模块使用代码实例
Jun 10 Python
python 解决函数返回return的问题
Dec 05 Python
Python if else条件语句形式详解
Mar 24 Python
Python开发五子棋小游戏
Apr 28 Python
下载给定网页上图片的方法
Feb 18 #Python
使用python将mdb数据库文件导入postgresql数据库示例
Feb 17 #Python
python动态加载变量示例分享
Feb 17 #Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 #Python
python实现bitmap数据结构详解
Feb 17 #Python
python实现ftp客户端示例分享
Feb 17 #Python
用smtplib和email封装python发送邮件模块类分享
Feb 17 #Python
You might like
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
javascript window.opener的用法分析
2010/04/07 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
js如何打印object对象
2015/10/16 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Sanic框架配置操作分析
2018/07/17 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Django如何实现上传图片功能
2019/08/16 Python
python datetime中strptime用法详解
2019/08/29 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
电气技术员岗位职责
2013/11/19 职场文书
《路旁的橡树》教学反思
2014/04/07 职场文书
政府采购方案
2014/06/12 职场文书
金融保险专业求职信
2014/09/03 职场文书
销售2014年度工作总结
2014/12/08 职场文书
员工福利申请报告
2015/05/15 职场文书
天那边观后感
2015/06/09 职场文书
开工典礼致辞
2015/07/29 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
nginx安装以及配置的详细过程记录
2021/09/15 Servers
SQL Server删除表中的重复数据
2022/05/25 SQL Server