zoukankan      html  css  js  c++  java
  • python发人人状态

    python发人人状态

     1 #-*- coding:UTF-8 -*-
     2 '''
     3 ======================================
     4 此程序根据 http://www.oschina.net/code/snippet_148170_10661 内容改编
     5 Adapted BY: bepcao
     6 Mail:peterc9511@gmail.com
     7 ======================================
     8 '''
     9 from sgmllib import SGMLParser
    10 import sys,urllib2,urllib,cookielib
    11 import datetime
    12 import time
    13 class spider(SGMLParser):
    14     def __init__(self,email,password):
    15         SGMLParser.__init__(self)
    16         self.h3=False
    17         self.h3_is_ready=False
    18         self.div=False
    19         self.h3_and_div=False
    20         self.a=False
    21         self.depth=0
    22         self.names=""
    23         self.dic={}   
    24          
    25         self.email=email
    26         self.password=password
    27         self.domain='renren.com'
    28         try:
    29             cookie=cookielib.CookieJar()
    30             cookieProc=urllib2.HTTPCookieProcessor(cookie)
    31         except:
    32             raise
    33         else:
    34             opener=urllib2.build_opener(cookieProc)
    35             urllib2.install_opener(opener)       
    36 
    37     def login(self):
    38         print '开始登录'
    39         url='http://www.renren.com/PLogin.do'
    40         postdata={
    41                   'email':self.email,
    42                   'password':self.password,
    43                   'domain':self.domain  
    44                   }
    45         req=urllib2.Request(
    46                             url,
    47                             urllib.urlencode(postdata)            
    48                             )
    49         
    50         self.file=urllib2.urlopen(req).read()
    51         idPos=self.file.index("'id':'")
    52         self.id=self.file[idPos+6:idPos+15]
    53         tokPos=self.file.index("get_check:'")
    54         self.tok=self.file[tokPos+11:tokPos+21]
    55         rtkPos=self.file.index("get_check_x:'")
    56         self.rtk=self.file[rtkPos+13:rtkPos+21]
    57     
    58 
    59 
    60     def publish(self,content):
    61         url1='http://shell.renren.com/'+self.id+'/status'
    62         postdata={
    63                   'content':content,
    64                   'hostid':self.id,
    65                   'requestToken':self.tok,
    66                   '_rtk':self.rtk,
    67                   'channel':'renren',
    68                   }
    69         req1=urllib2.Request(
    70                             url1,
    71                             urllib.urlencode(postdata)            
    72                             )
    73         self.file1=urllib2.urlopen(req1).read()
    74         print '%s:\n刚才使用你的人人账号 %s 发了一条状态\n内容为:(%s)'% (datetime.datetime.now(),self.email,postdata.get('content',''))
    75 
    76 
    77 
    78 renrenspider=spider('email','password')
    79 renrenspider.login()
    80 content=raw_input('请输入状态的内容:')
    81 renrenspider.publish(content)
  • 相关阅读:
    Android 数据存储之 SQLite数据库存储
    Android 数据存储之 SharedPreferences储存
    Android 数据存储之 文件存储
    SSTABLE简介
    zookeeper原理
    改变win7驱动图标
    也谈谈拖延癌
    STM32f103之外部中断
    LPC1768/1769之CAN控制器概述(附库函数下载地址)
    Silicon C8051F340之时钟系统
  • 原文地址:https://www.cnblogs.com/ketmales/p/2893001.html
Copyright © 2011-2022 走看看