Показать сообщение отдельно

  #10  
Старый 01.09.2009, 20:43
Admin Derek
Новичок
Регистрация: 20.04.2008
Сообщений: 11
С нами: 9504115

Репутация: 0
По умолчанию

вот..доделал, проверка стены)) на новое сообщение, пок..без всяких оповещений..просто с текстом New Message..плиз оцените, это мой первый скрипт...)

Код:
import urllib2, urllib
import cookielib
import re, time
import string
#from urllib2 import urlopen 

########################
# Satan Wall 1.0(final) #
########################

Email = 'bill@microsoft.com' #мыло
pas = 'win7' #пасс
SiteWall = 'http://vkontakte.ru/wall.php?id=7' # ид стены

#начало подключение
def connect():    #создадим отдельную функцию для подключения, в дальнеишем может пригодиться)
    cookie = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    urllib2.install_opener(opener)
    headers = {"User-Agent" : "Mozila/4.0 (compatible; MSIE 5.5; WindowsNT)"}
    page=urllib2.urlopen(urllib2.Request('http://vkontakte.ru/login.php?email='+Email+'&pass='+pas,None,headers)).read()
    print 'On-line' #подключились =)

#первая проверка стены
tempVK = 0  #переменная для первого подключения
Error = 0   #счетчик ошибок

def WallOn(wall): #функция самой проверки
    time.sleep(5)  #пауза в 5 секунд, а куда торопиться?!))
#    NewWall = wall  #ровняем старую стенку новой и...
    NewWalltemp = urllib2.urlopen(SiteWall).read() #...открываем стенку
    NewWall = re.findall(r"\<div class\=\"summary\"\>(.*?)\<\/div\>", NewWalltemp)[0]
#    print 'god, ', NewWall     проверка, для отладки
    if wall == NewWall: #проверяем есть ли разница между первым и вторым значением стены, промежуток..кххм)
        WallOn(wall)    #если всё так же, вызываем эту же функцию..вдруг всё же напишут xD
    else:   #но если написали
        print 'New message' #говорим сразу мне
        walltemp = urllib2.urlopen(SiteWall).read()
        wall = re.findall(r"\<div class\=\"summary\"\>(.*?)\<\/div\>", walltemp)[0]
#        wall = NewWall #записывем новую стену заместо старой)
        NewWall = 'clear' #и очишаем переменную, чтобы не повторялось каждые 15 секунд о новом сообщений)
        WallOn(wall)    #запустим функцию заново =)

def body(tempVK, Error):
    if tempVK == 0: #если это первоая проверка, то записываем в переменную значиение стенки)
        walltemp = urllib2.urlopen(SiteWall).read()    #вот так вот это делаем)
        wall = re.findall(r"\<div class\=\"summary\"\>(.*?)\<\/div\>", walltemp)[0]
#        print 'ok, ', wall     #приверка, для отладки
        tempVK = 1 #гооврим прямо, на сегодня хватит)
        WallOn(wall)    #и вызовим функцию =))
    else:   #если же это уже не первая проверка, и произошла какая то ошибка, то...
        walltemp = urllib2.urlopen(SiteWall).read()
        wall = re.findall(r"\<div class\=\"summary\"\>(.*?)\<\/div\>", walltemp)[0]
        Error += 1  #прибавляем счетчику ошибок число
        print 'Error: ', Error  #и в слезах жалуемся мне))
        WallOn(wall)  #...передаем параметр стены


###########НАЧАЛО КАК НЕ СТРАННО ТУТ, В КОНЦЕ!!!##############
        
connect()   #вызовем функцию, тоесть начнем соединение
body(tempVK, Error)    #проверим стену первый раз
эм...первый скрипт =)) всем спс за помощь =))
 
Ответить с цитированием