使用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中删除文件的程序代码
Mar 13 Python
python读取html中指定元素生成excle文件示例
Apr 03 Python
跟老齐学Python之集合的关系
Sep 24 Python
python实现批量下载新浪博客的方法
Jun 15 Python
Python中字典的基础知识归纳小结
Aug 19 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
详解Python之数据序列化(json、pickle、shelve)
Mar 30 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
pandas分批读取大数据集教程
Jun 06 Python
python实现图片转换成素描和漫画格式
Aug 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
How do I change MySQL timezone?
2008/03/26 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
Python datetime时间格式化去掉前导0
2014/07/31 Python
python批量提交沙箱问题实例
2014/10/08 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python+flask实现API的方法
2018/11/21 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
python重要函数eval多种用法解析
2020/01/14 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
食堂员工工作职责
2013/12/18 职场文书
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
中学生个人自我评价
2014/02/06 职场文书
国际贸易实训报告
2014/11/05 职场文书
员工给公司的建议书
2019/06/24 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
Java界面编程实现界面跳转
2022/06/16 Java/Android