使用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获得文件创建时间和修改时间的方法
Jun 30 Python
一步步解析Python斗牛游戏的概率
Feb 12 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Python冲顶大会 快来答题!
Jan 17 Python
Python中偏函数用法示例
Jun 07 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
Jul 13 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
python分布式计算dispy的使用详解
Dec 22 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
python中pymysql包操作数据库方法
Apr 19 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
详解Python_shutil模块
2019/03/15 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
少先队入队活动方案
2014/02/08 职场文书
库房管理员岗位职责
2014/03/09 职场文书
年终总结会议主持词
2014/03/17 职场文书
2014年党支部学习材料
2014/05/19 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
投标邀请书范本
2015/02/02 职场文书
个人年终总结怎么写
2015/03/09 职场文书
装修公司管理制度
2015/08/05 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript