Ну, у такой категории людей как Дикс то очень даже и пользуется. Более чем уверен, что ни о чём другом он даже не задумывался. Ну 100%, книжки пишут просто так. Маны это тоже для дуракофф. http://docs.python.org/modindex.html - Настоятельно рекомендую к прочтению. Потом таких вопросов не будет. Поддержки соксов "изкаропки" нет. Хочешь соксов без гемора - pyCURL в зубы и downgrade до Python2.5 (Под него есть сборка под Форточки). Хочешь погемориться - socksipy(Но это на уровне сокетов). Самый рульный вариант - это Twisted(если хорошо поискать, то есть модуль для поддержки соксов), но Twisted это асинхронные сокеты, следовательно Излом мозгофф обеспечен.
Скажите как это сделать: Есть текст, нужно написать одну строку и если она есть в тексте то тру и наоборот? Как это сделать? Читал о сравнении строк, как я понял, то нужно писать типа Code: a = ["текст"] b = ["строка"] a == b так? у меня что-то не получается . Интерпретатор 3.0.1.
Тут появилась не понятка с циклами... есть цикл: Code: i = 54 .... .... #тута код while i < int(len(site)): Интерпретатор ругается что к переменной i обращаются до ее объявления... В чем трабл?
Хе проблема решена. Заключалась в том что переменная i не была объявлена в функции где использовалась.
Имеется html код: Code: <li><a href="http://url/">анкор</a></li> Нужно как бы анкор спарсить) Всегда получалось, но тут ума дать не могу, ошибки так и сыпятся Ошибка в этой строке: Code: re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map) Сама ошибка: Code: Traceback (most recent call last): File "C:\Python26\ololo.py", line 9, in <module> re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map) File "C:\Python26\lib\re.py", line 177, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer
Скажите можно ли прогу написанную на питоне преобразовать в ехе-файл? Т.е. чтобы не запускать каждый раз через смд.
Я только, что пробовал.. Вообще элементарный скрипт пробовал скомпилить, с кодировкой шлак получился и второй раз этот же скрипт скомпилил, вообще запускается и окно закрывается! Вообще поиск тебе в помощь, тему по py2exe уже много раз описывали) Я сам гуглил, инфы не мало видел.. везде по немногу =**
Может потому что у тебя руки не из того места растут? #! -*- coding: cp866 -*- ну или утф-8, но я сильно сомневаюсь, что у тебя никсы Потому что ты два раза щёлкнул на ярлычок консольной программы print 'Hello'? CyberHunter, всё нормально, пи2ехе не бред, и писали его не долбоёбы. возьми мануальчик, учебничек, зачем тебе собирать здесь абсолютно не несущих информации посты? [Dezzter], не позорился бы
Antigate python 3.1 Я вроде адаптировал функцию, но почему то выдает Сама функция Code: import urllib.request import urllib.parse import re import codecs import logging import http.client def send_cap(key, fn): ''' Отправляем капчу на anti-capcha.com Вход: key - ключ на антикапче fn - файл с капчей Выход: id капчи - в случае успеха False - неудача ''' logging.info('--- Send captcha') data = open(fn, 'rb').read() # разделитель для данных boundary= '----------OmNaOmNaOmNamo' # тело HTTP-запроса body = '''--%s Content-Disposition: form-data; name="method" post --%s Content-Disposition: form-data; name="key" %s --%s Content-Disposition: form-data; name="file"; filename="capcha.jpg" Content-Type: image/pjpeg %s --%s-- ''' % (boundary, boundary, key, boundary, data, boundary) # заголовки HTTP-запроса headers = {'Content-type' : 'multipart/form-data; boundary=%s' % boundary} # подключение к HTTP-серверу h = http.client.HTTPConnection('antigate.com') # посылка запроса h.request("POST", "/in.php", body, headers) # получение и анализ ответа HTTP-сервера resp = h.getresponse() data = resp.read() h.close() if resp.status == 200: cap_id= int(data.split('|')[1]) return cap_id else: logging.error('Captcha not send: %s %s' % (resp.status, resp.reason)) return False
Сейчас ты показал свои недалёкость и слабоумие. Вместо того, чтобы промолчать и проанализировать своё "авторитетное" мнение, ты брызжешь слюной в монитор, потому что тебя "умыли" с твоими 23 репутации.
ахахах, если бы я брызгал слюной в монитор, то не писал бы свой пост с улыбкой на лице.. можешь вздрочнуть на мою репутацию! =** ты явно не равнодушен к этим цифрам) кст, про пи2ехе это не моё мнение, лол бля, я сказал, что мне сказали несколько людей, более компетентные в этом вопросе, не более того =/ так, что сам умойся камшотом
Как на питоне реаизовать добавление контакта для смс в mail.ru. Документация по протоколу здесь: http://agent.mail.ru/ru/developers/protocol.html
нашел в инете скрипт приглашения в друзья всех членов определенной группы вконтакте, но не знаю как запустить его, помогите пжл! Вот скрипт: Code: #!/usr/bin/env python # -*- coding: utf-8 -*- # Created by Nuclear Worm # # # Vkontakte friends adder # # Version 0.1.a.1 # import os, sys, time, re, logging, sqlite3, urllib, urllib2, cookielib try: from cStringIO import StringIO except ImportError: from StringIO import StringIO VERSION='0.1.a.1' COOKIEFILE = '/tmp/cookies1.lwp' LOG_FILENAME = '/tmp/dbg.log' logging.basicConfig(filename=LOG_FILENAME, filemode = 'w', level=logging.DEBUG,) class PostCommand: def __init__(self, url, req = None): self.request = req self.headers = '' self.url = url def perform(self): cj = cookielib.LWPCookieJar() if os.path.isfile(COOKIEFILE): cj.load(COOKIEFILE) url_retr = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) self.res = url_retr.open(self.url, self.request).read() cj.save(COOKIEFILE) logging.debug("Got to PostCommand request = %s, url = %s"%(self.request, self.url)) #self.res = urllib.urlopen(self.url, self.request).read() logging.debug("Got result = %s"%self.res) class GetCommand: def __init__(self, url): self.headers = '' self.url = url def perform(self): cj = cookielib.LWPCookieJar() if os.path.isfile(COOKIEFILE): cj.load(COOKIEFILE) url_retr = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) self.res = url_retr.open(self.url).read() cj.save(COOKIEFILE) logging.debug("Got to GetCommand url = %s"%(self.url)) #self.res = urllib.urlopen(self.url).read() logging.debug("Got result = %s"%self.res) class Vkontakte: def __init__(self, mail, password): self.mail = mail self.password = password def login(self): request = 'op=a_login_attempt&email=' + self.mail + '&pass=' + self.password +'&expire=0' req = PostCommand('http://vkontakte.ru/login.php', request) req.perform() my_id = re.compile('good(\d+)') logging.debug("Reply from login:\n" + req.res) if "failed" in req.res: return "Error! Check your login/pass!" else: myid = my_id.search(req.res).groups()[0] return myid class Group: def __init__(self, group_id): self.group_id = group_id def find(self, datafile = None): if datafile: self.datafile = datafile else: print "No datafile to store your friends" sys.exit(1) gp = GetCommand('http://vkontakte.ru/search.php?group=' + self.group_id) gp.perform() logging.debug("Reply from login:\n" + gp.res) sum = re.compile('<strong>.* (\d+) .*\.</strong>') all_those = sum.search(gp.res).groups()[0] logging.debug("Sum of all users in group:\n" + all_those) friends = extract_id(gp.res) add_to_file(self.datafile, friends) time.sleep(1) for i in range(1, int(all_those)/10 + 1): gp = GetCommand('http://vkontakte.ru/search.php?&group=' + self.group_id + '&o=0&st=' + str(i*10)) gp.perform() friends = extract_id(gp.res) add_to_file(self.datafile, friends) time.sleep(1) return sum class Friend: def __init__(self): pass def add(self, datafile = None, limit = None, message = None): if datafile: self.datafile = datafile else: pass if limit: self.limit = limit else: self.limit = 20000000 if message: self.message = message else: self.message='' df = open(self.datafile, 'r') ind = 0 hash_find = re.compile('id="hash" value="([^"]+)"') for line in df.readlines(): id = line.strip(' \n') fp = PostCommand('http://vkontakte.ru/friends_ajax.php', req = 'act=request_form&fid=' + id) fp.perform() #print fp.res for line1 in fp.res.split('\\n'): if hash_find.search(line1.replace('\\', '')): hash = hash_find.search(line1.replace('\\', '')).groups()[0] break try: hash except: print "Hash not found" logging.debug("Hash for user %s not found!"%id) continue fp = PostCommand('http://vkontakte.ru/friends_ajax.php', req = 'act=accept_friend&fid=' + id + '&hash=' + hash +'&verbose=1&message=' + self.message) fp.perform() ind +=1 if ind >= self.limit: break return ind def extract_id(data): result = '' link = re.compile('<div class="info" id="row2(\d+)">') for line in StringIO(data).readlines(): if link.search(line): result += link.search(line).groups()[0] + '\n' return result def write_file(file, string): file1 = open(file, 'w') file1.write(string) file1.close() def add_to_file(file, data): file1 = open(file, 'a') file1.write(data) file1.close() def main(*args): mail, password = sys.argv[1:] #mail = "[email protected]" #password = "mypass" ### For Windows change to your path tmp_file = '/tmp/group_mems' mail = mail.replace("@","%40") mylogin = Vkontakte(mail, password).login() #print "Your ID = ", mylogin link = raw_input("Give link of group: ") group_id = re.search('http://vkontakte.ru/club(\d+)', link).groups()[0] gr = Group(group_id) gr.find(datafile = tmp_file) fr = Friend() print "Added ", fr.add(datafile = tmp_file), " friends" ### Limit fo adding 30 friends, example: #print "Added ", fr.add(datafile = '/tmp/group_mems', limit = 30), " friends" ### Add friends with message "Куку", example #message_to_send = urllib.quote("Куку") #print "Added ", fr.add(datafile = '/tmp/group_mems', message = message_to_send), " friends" if __name__ == '__main__': main(sys.argv) Или вот сылка http://code.google.com/p/socialbot/source/browse/trunk/trunk/kontakt.py
Полистав скрипт видим строки def __init__(self, mail, password): self.mail = mail self.password = password что, куда я думаю понятно. но скрипт скорей всего не рабочий так как авторизация ВК менялась...