
31.08.2009, 10:52
|
|
Новичок
Регистрация: 20.04.2008
Сообщений: 11
С нами:
9504115
Репутация:
0
|
|
ага, спасиба всем за помощь блин 
сам нашел уже))
Спасибо, e4key
за ссылку^^
|
|
|

31.08.2009, 11:44
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Admin Derek
ага, спасиба всем за помощь блин 
сам нашел уже))
Спасибо, e4key
за ссылку^^
поиск по античату - авторизация вконтакте на python и cgi - De-Visible положил готовую функцию для авторизации
|
|
|

01.09.2009, 12:07
|
|
Новичок
Регистрация: 20.04.2008
Сообщений: 11
С нами:
9504115
Репутация:
0
|
|
эйй...всех с трауром во первых..=)
далее..
Мне вот надо найти на .php странице определенную строку(ну это контакт как бэ wall.php)
строка 114:
<div class="summary">Показаны записи 1 - 20 из 2710.</div>
и записать это в переменную...
|
|
|

01.09.2009, 14:38
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Admin Derek
эйй...всех с трауром во первых..=)
далее..
Мне вот надо найти на .php странице определенную строку(ну это контакт как бэ wall.php)
строка 114:
<div class="summary">Показаны записи 1 - 20 из 2710.</div>
и записать это в переменную...
Код:
import re
page = urllib.urlopen("http://www.vkontakte.ru/wall.php").read()
peremennaya = re.findall(r"\<div class\=\"summary\"\>(.*?)\<\/div\>", page)[0]
print peremennaya
|
|
|

01.09.2009, 14:30
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами:
9017461
Репутация:
414
|
|
Отпарси регуляркой:
Код:
result = re.search(r"<div class="summary">(.+?)</div>", page_data)
print(result.groups())
|
|
|

01.09.2009, 17:47
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами:
9456866
Репутация:
979
|
|
Есть ли в питоне аналог пхпшной функции isset() (Проверяет на существование переменную)?
P.s Знаю что можно использовать исключения,но хотелось бы узнать есть ли такая функция.
|
|
|

01.09.2009, 18:00
|
|
Участник форума
Регистрация: 11.05.2007
Сообщений: 149
С нами:
10001186
Репутация:
247
|
|
Сообщение от rushter
Есть ли в питоне аналог пхпшной функции isset() (Проверяет на существование переменную)?
P.s Знаю что можно использовать исключения,но хотелось бы узнать есть ли такая функция.
Например так:
Код:
>>> value = 123
>>> 'value' in globals()
True
>>> 'value1' in globals()
False
также если в функции, то можно применить locals()
|
|
|

01.09.2009, 18:21
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами:
9017461
Репутация:
414
|
|
Есть ли в питоне аналог пхпшной функции isset() (Проверяет на существование переменную)?
P.s Знаю что можно использовать исключения,но хотелось бы узнать есть ли такая функция.
Лучше все же использовать исключения.
|
|
|

01.09.2009, 20:15
|
|
Новичок
Регистрация: 20.04.2008
Сообщений: 11
С нами:
9504115
Репутация:
0
|
|
razbх,
login999,
спасиба, щас попробую =))
|
|
|

01.09.2009, 20:43
|
|
Новичок
Регистрация: 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) #проверим стену первый раз
эм...первый скрипт =)) всем спс за помощь =))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|