使用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生成日历实例解析
Aug 21 Python
Python入门篇之编程习惯与特点
Oct 17 Python
Python使用Scrapy爬取妹子图
May 28 Python
对python 自定义协议的方法详解
Feb 13 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Django实现发送邮件找回密码功能
Aug 12 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
Python字符串格式化f-string多种功能实现
May 07 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
python import 上级目录的导入
Nov 03 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 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+jQuery实现自动补全功能源码
2013/05/15 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
python英语单词测试小程序代码实例
2019/09/09 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
新闻编辑自荐信
2013/11/03 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
升旗仪式主持词
2014/03/19 职场文书
政治表现评语
2014/05/04 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
社会公德演讲稿
2014/05/20 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
会计专业求职信范文
2015/03/19 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js