使用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之玩转字符串(1)
Sep 14 Python
Python3读取UTF-8文件及统计文件行数的方法
May 22 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python实现的简单dns查询功能示例
May 24 Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
PyCharm配置mongo插件的方法
Nov 30 Python
python3使用QQ邮箱发送邮件
May 20 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
Python 第三方库 openpyxl 的安装过程
Dec 24 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简单日历函数
2015/10/28 PHP
PHP链表操作简单示例
2016/10/15 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
php与js的区别是什么
2013/08/05 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
python os.fork() 循环输出方法
2019/08/08 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
市场营销专科应届生求职信
2013/11/24 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
大学活动邀请函
2014/01/28 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
战友聚会致辞
2015/07/28 职场文书