python 实现 自动定时发送人人状态

2013.9.20  因为人人改版,可能已无法使用


#-*- coding:UTF-8 -*-
'''
======================================
此程序根据 http://www.oschina.net/code/snippet_946076_17870 内容改编
Adapted BY: jxy
Mail:czjxy8898@gmail.com
======================================
'''
from sgmllib import SGMLParser
import sys,urllib2,urllib,cookielib
import datetime
import time
class spider(SGMLParser):
    def __init__(self,email,password):
        SGMLParser.__init__(self)
        self.h3=False
        self.h3_is_ready=False
        self.div=False
        self.h3_and_div=False
        self.a=False
        self.depth=0
        self.names=""
        self.dic={}   

        self.email=email
        self.password=password
        self.domain='renren.com'
        try:
            cookie=cookielib.CookieJar()
            cookieProc=urllib2.HTTPCookieProcessor(cookie)
        except:
            raise
        else:
            opener=urllib2.build_opener(cookieProc)
            urllib2.install_opener(opener)       

    def login(self):
        print 'start login'
        url='http://www.renren.com/PLogin.do'
        postdata={
                  'email':self.email,
                  'password':self.password,
                  'domain':self.domain
                  }
        try:
          req=urllib2.Request(
                            url,
                            urllib.urlencode(postdata)
                            )
          self.file=urllib2.urlopen(req).read()
          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]
          print 'success'
          return 1
        except:
          print 'error'
          return 0

    def publish(self,content):
        url1='http://shell.renren.com/'+self.id+'/status'
        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 '%s:\n  %s have sended\n:(%s)'% (datetime.datetime.now(),self.email,postdata.get('content',''))

def tt(T=5):
  while 1:
    t = time.localtime()
    content='24小时测试:现在时间'+str(t.tm_hour)+'时'+str(t.tm_min)+'分'+str(t.tm_sec)+'秒'
    print content
    renrenspider.publish(content)
    time.sleep(60)
    T=T-1
    if T==0:
      break
user=raw_input('email or phone number:')
password=raw_input('password:')
renrenspider=spider(user,password)
if renrenspider.login() :
  #content=raw_input('please input content:')
 # renrenspider.publish(content.decode('gb2312').encode('utf-8'))

  while 1:
   if time.localtime().tm_sec==0 and time.localtime().tm_min==0:
      tt(24)
      break
   time.sleep(1)
时间: 2024-12-29 16:07:17

python 实现 自动定时发送人人状态的相关文章

关于PHP定时发送服务的解决办法

一.定时发送任务解析 在进行手机APP或者微信开发的时候,经常会有需要定时推送消息的场景. 定时发送又分为两种: 一种是在开发的时候固定时间,后台管理人员只能选择将要推送的消息: 另一种是后台管理人员可以自由选择推送的时间和消息: 二.解决方案 PHP本身是不支持定时发送的,因为PHP是一个脚本语言.在大多数情况下,浏览器关闭,PHP也就不执行了.大部分情况下都依赖于外部的一些小东西. 1.固定时间 大多数服务器系统都是windows或linux. linux:使用CronTab定时执行php

python实现自动登录人人网并采集信息的方法

  本文实例讲述了python实现自动登录人人网并采集信息的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

foxmail怎么设置定时发送

  1.首先我们将邮件写好,点击右上角菜单==定时发送 2.出现定时发送设置选项,设置您需要定时发送邮件的发送时间 3.设置好了之后,点击发送邮件会自动到草稿箱里面,等待 定时的时间进行邮件发送操作 4.点击邮件,查看可以看到 设置好的定时发送邮件的信息如下

解决方案-C++实现TCP/UDP测试工具的定时发送

问题描述 C++实现TCP/UDP测试工具的定时发送 VS下用C++实现TCP/UDP测试工具的定时发送功能,求解决方案.有具体的源码参考更好. 解决方案 首先设置好两个控件一个是自动发送的,另一个是编辑框的.绑定内部变量,使用bool值接受检测到自动是否被选中,并且将这个bool变量当作循环条件,循环内部写send/sendto的代码,每次循环中使用sleep函数控制循环间隔

我使用C#winform 多线程自动定时弹出新窗体,但是窗体一直忙

问题描述 我使用C#winform多线程自动定时弹出新窗体,但是窗体一直忙.我比如定时5秒钟弹出一个新窗体,但是一直都是忙的状态,我无法对新窗体操作,即使改为1分钟弹一次也没有办法,怎么办? 解决方案 解决方案二:面对这样的提问方式,我只能回答:凉拌解决方案三:如果线程不是UI主线程的话,操作窗体需要用委托调用的,你可以用异步委托,到时间就弹出一个窗体解决方案四:代码如下Form1frm;privatevoidbutton1_Click(objectsender,EventArgse){vart

Linux VPS备份教程 数据库/网站文件自动定时备份_Linux

几天写过两篇使用VPS的安全性设置的博文,其实不管我们如何设置安全,及时的备份VPS数据才是最为重要的.因为VPS与主机不同,主机可能很多时候服务商代为我们备份,VPS的操作和安全性大部分都需要我们自己来负责,即便很多VPS上提供每日备份服务,但是不可确定因素实在太多.比如商家跑路.母机硬盘损坏.不可控因素等. 关于VPS备份教程方法可用的方法也很多,比如我们常规的备份直接通过FTP下载,MYSQL数据库导出也是可以操作的,但是这些都比较麻烦,而且还需要人为去执行.这篇文章老左分享目前大家比较常

mssql server自动定时数据库备份图文详细

最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak.  代码如下 复制代码 declare @name varchar(250)  set @name='C:/Backup/TestDB1_'+  convert(var

php中实现mysql数据库备份与linux自动定时备份代码

把下面php代码保存成backdata.class.php文件  代码如下 复制代码 <?php /* * *简单的一个Mysql备份数据类 * */ class backupData{     private    $mysql_link;//链接标识     private    $dbName;    //数据库名     private    $dataDir;     //数据所要存放的目录     private    $tableNames;//表名     public func

foxmail定时发送邮件怎么使用 foxmail定时发送设置方法

1我们先写好邮件之后我们如图所示点击右上角的 菜单==定时发送 如下图所示     2.然后会出现了一些关于 定时发送设置选项,进入之后我们点击 发送时间 打开进入     3.好了在我们设置成功之后我们点击,点击发送邮件会自动到草稿箱里面,等待 定时的时间进行邮件发送操作     4.点击邮件 点击邮件我们在下方会看到定时发送的具体时间点了.   好了到了这里我们邮件会在指定时间自动发出去了哦,各位朋友快去试一下吧,其实很多的邮件都支持定时发送功能了.