使用python在校内发人人网状态(人人网看状态)_python教程-查字典教程网
使用python在校内发人人网状态(人人网看状态)
使用python在校内发人人网状态(人人网看状态)
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#_*_coding:utf_8_fromsgmllibimportSGMLParserimportsys,urllib2...

复制代码 代码如下:

#_*_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学习
    脚本专栏子分类