python写的校内/人人自动发状态脚本

心血来潮写了个这么一个东西,就当是为py练练手了。最不习惯的地方就是冒号……

目前就是这样,核心代码其实就20多行,用于发状态

!!!不讲任何编码规范!!!不讲任何py习俗!!!不讲任何简单方法!!!不讲任何复杂测试!!!

—————–poststatus.py————-

 

 

# coding=utf-8

import urllib

import urllib2

import cookielib

import sys

xn={}

xn['email']='你懂的'

xn['password']='你也懂的'

cookie=cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

urllib2.install_opener(opener)

zhanghao = urllib.urlencode(xn)

req=urllib2.Request('http://3g.renren.com/login.do?fx=0&autoLogin=true',zhanghao)

resp=urllib2.urlopen(req)

#print resp.read()

def zhuangtai(sss):

	xn2={}

	xn2['status']=sss

	xn2['update']="发布"

	zhuangtai=urllib.urlencode(xn2)

	req2=urllib2.Request('http://3g.renren.com/status/wUpdateStatus.do',zhuangtai)

	print sss

	resp2=urllib2.urlopen(req2)


 


之所以用3g而不是www的原因前文已经讲了。


————-renren.py—————-主程序——————–

 

 

#!/usr/bin/python

# coding=utf-8

import poststatus

import time

import hourstatus

import thread

import getstatus

#poststatus.zhuangtai('test')

def hoursleep():

	t=time.localtime()

	#print t[4]

	if t[4]==59:

		h=t[3]

		if h==23:

			h=0

		else:

			h+=1

		poststatus.zhuangtai('下面是机器人整点报时时间:'+hourstatus.s[t[3]])

	time.sleep(60)

	hoursleep()

def rtsleep():

	getstatus.zhuanfa()

	time.sleep(60)

	rtsleep()





print '欢迎打开您的机器人,您可以随时输入命令。exit退出,post发任意状态'

thread.start_new_thread(hoursleep,())

thread.start_new_thread(rtsleep,())

print '自动报时模块已加载'

while 1==1:

	stdin=raw_input('shell:')

	if stdin=='exit':

		exit()

	if stdin=='post':

		while stdin!='robot' and stdin!='man':

			stdin=raw_input('谁在说话?(robot/man)')

		if stdin=='robot':

			stdin=raw_input('我想说什么?')

			poststatus.zhuangtai(stdin)

		else:

			stdin=raw_input('您想说嘛?')

			poststatus.zhuangtai('我主人说:'+stdin)

		continue


 

直接运行就可以


———————–getstatus.py—————————–

 

 

# coding=utf-8

import urllib

import urllib2

import cookielib

import sys

import poststatus

import time

def zhuanfa():

	xn={}

	xn['email']='你懂的'

	xn['password']='你也懂的'

	cookie=cookielib.CookieJar()

	opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

	urllib2.install_opener(opener)

	zhanghao = urllib.urlencode(xn)

	req=urllib2.Request('http://3g.renren.com/login.do?fx=0&autoLogin=true',zhanghao)

	resp=urllib2.urlopen(req)

	html=resp.read()

	#print len(html)

	index=html.find('转自')

	while index>0:

		html=html[index:]

		index2=html.find('<p')

		sss=html[:index2-1]

		fw=open('zhuanfa.db','a')

		fr=open('zhuanfa.db','r')

		alllines=fr.readlines()

		fr.close()

		boo=1

		for each in alllines:

			if sss.find(each[len(each)/2:len(each)/3*2])>0:

				boo=0

		if boo>0:

			poststatus.zhuangtai('自动转发:'+sss)

			fw.write('n'+sss+'n')

		else:

			print '发现转发过的状态'

		index=html.find('转自')


 


原理很简单,就是扫描一遍手机人人主页的第一页,只要是有“转自”就截取下来,跟存储的文件比对,如果没有转发过就转出去并存档。不存档的后果是显而易见的。


还有一个hourstatus.py,里面就是存了24个整点报时机器人要说的话,没别的

====================================

接下来的计划是写成真正的爬虫,能深入搜索什么的。可以建立一个好友的关系网什么的。那是以后的事情了。


已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注