使用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实现socket客户端和服务端简单示例
Feb 24 Python
Python实现的检测网站挂马程序
Nov 30 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
python3爬取各类天气信息
Feb 24 Python
详解python3中的真值测试
Aug 13 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
python中正则表达式 re.findall 用法
Oct 23 Python
python读写csv文件实例代码
Jul 05 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
Python之基础函数案例详解
Aug 30 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
用PHP 4.2书写安全的脚本
2006/10/09 PHP
一段php加密解密的代码
2007/07/16 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
stripos函数知识点实例分享
2019/02/11 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
微信小程序云开发之使用云函数
2019/05/17 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
JS如何生成动态列表
2020/09/22 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
详解python调用cmd命令三种方法
2019/07/08 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
Python截图并保存的具体实例
2021/01/14 Python
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
汉语专业应届生求职信
2013/10/01 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
公司授权委托书范本
2014/09/18 职场文书
小学生思想品德评语
2014/12/31 职场文书
节约用电倡议书
2015/04/28 职场文书
开学第一周总结
2015/07/16 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
Pygame Rect区域位置的使用(图文)
2021/11/17 Python
Python3的进程和线程你了解吗
2022/03/16 Python