使用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抓取行政区划码的方法
Nov 28 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
学习python可以干什么
Feb 26 Python
python导入pandas具体步骤方法
Jun 23 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
python 创建一维的0向量实例
Dec 02 Python
python中如何进行连乘计算
May 28 Python
Python实现自动签到脚本功能
Aug 20 Python
pycharm 如何查看某一函数源码的快捷键
May 12 Python
Python学习之os包使用教程详解
Mar 21 Python
python 使用pandas读取csv文件的方法
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中IP地址与整型数字互相转换详解
2014/08/20 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
Laravel框架源码解析之模型Model原理与用法解析
2020/05/14 PHP
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
一百多行python代码实现抢票助手
2018/09/25 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
高一生物教学反思
2014/01/17 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
《秋游》教学反思
2014/04/24 职场文书
幼师求职自荐信
2014/05/31 职场文书
小学教师个人总结
2015/02/05 职场文书
2015年消防工作总结
2015/04/24 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript