求实bbs灌水机

程序实现的功能是在求实bbs的几个相对热门的讨论区回复两篇灌水性质的帖子,说明几点:

  1. 依然受留言板记录过多、存在密码输错记录、有好友在线等影响
  2. 为了知道回复的帖子编号,采用的是方法是以web访问的方式获取当前版面的最后一篇帖子的编号

 

01 #!/usr/bin/python
02 # encoding: utf-8
03 import telnetlib
04 import getpass
05 import random
06 import urllib
07 import time
08 import re
09
10 HOST='202.113.13.188'
11 PORT=23
12 user = raw_input('Enter your account: ')
13 password = getpass.getpass()
14
15 boards=['pictures', 'joke', 'tjunews', 'piebridge', 'selfphoto', 'love', 'worklife', 'girl', 'boy', 'ask', 'single', 'soccer', 'running', 'swimming', 'jq', 'astrology']
16 #boards=['test', 'shandong']   #boards for testing purpose
17 replys=['er', '顶啊', 'sf', 'wow!', '%_%', '好', '哦', 'wow', '哇', '围观', '额是打酱油的', '路过一下', '混个post', 'up', '我顶', '必须的', 're啊 re', '呵呵', '路过', '顶', '关注', 're', '...', '。。。', '嗯', 'so dis ne',  '唔', '打个酱油', '飘过', '酱油党飘过', '强re' , '-_-', '^_^', '~$~']
18 replys.extend([x+'~' for x in replys])
19
20 def getlastno(board, url = 'http://bbs.tju.edu.cn/TJUBBS/doc?B=%s'):
21     url = url % board
22     cnts = urllib.urlopen(url).read().decode('gb18030').encode('utf8')
23     pattern = re.compile(r'(c.docItem.*)')
24     matchrlt = pattern.findall(cnts)
25     pattern = re.compile(r'(\d+)')
26     return pattern.search(matchrlt[-1]).group()
27
28
29 tn = telnetlib.Telnet(HOST, PORT)
30 tn.write(user+'\n')
31 tn.write(password+'\n')
32 tn.write('\n'*8+'q')
33 tn.write('F\n')
34 tn.write('\n')
35 for board in boards:
36     print 'writing, ', board
37     last = int(getlastno(board))
38     tn.write('s'+board+'\n')
39     tn.write('%d\n' % last)
40     tn.write('rr\n')
41     tn.write(random.choice(replys).decode('utf-8').encode('gb18030'))
42     tn.write(chr(0x17))
43     tn.write('\n')
44     time.sleep(5)
45     tn.write('%d\n' % (last-5,))
46     tn.write('rr\n')
47     tn.write(random.choice(replys).decode('utf-8').encode('gb18030'))
48     tn.write(chr(0x17))
49     tn.write('\n')
50     time.sleep(5)
51 tn.write('!')
52 tn.write('\n')
53 tn.close()
posted @ 2009-09-13 22:11  千里快哉  阅读(721)  评论(0)    收藏  举报