使用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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 Python
在Python的Django框架中调用方法和处理无效变量
Jul 15 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
Python做智能家居温湿度报警系统
Sep 25 Python
解决pandas .to_excel不覆盖已有sheet的问题
Dec 10 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
Dec 09 Python
Python sep参数使用方法详解
Feb 12 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 Python
Pytorch 如何实现LSTM时间序列预测
May 17 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
JS 类型转换常见方法小结
2010/05/31 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python实现的彩票机选器实例
2015/06/17 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
容易被忽略的Python内置类型
2020/09/03 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
小学教师学期末自我评价
2013/09/25 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
开会迟到检讨书
2014/02/03 职场文书
关于安全的广播稿
2014/10/23 职场文书
学困生转化工作总结
2015/08/13 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
Python集合的基础操作
2021/11/01 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android