"что питон будет угадывать" я думал что он настолько хорош что умеет даже это =)) А если серьёзно, то я привык к Qt где задаешь сразу тип прокси HTTP/SOCKS, а вот в питоне такого нет. А то что питон умеет пользоваться только HTTP прокси уже догадался, но перед тем как задать вопрос все таки надо было проверить тип вручную. Значит у madnet'a скрипт прокси врет, ведь там тип как SOCKS5. Вот я и думал что значит питон умеет работать с носками, хотя видел либу SocksiPy.
m0Hze, Вариант с перегруженным целевым сервером отпадает, так как если я перезапускаю скрипт, все идет ок Вот кусок основной кусок кода Code: def run(self): while True: proxy = self.plist.get() try: #Тут происходят нужные действия except Exception, e: #proxy ordered to live long print proxy, e if self.log_file: print >>self.log_file, "Thread "+str(self.id)+": "+str(e)+"\n", self.plist.task_done() То есть исключения вроде не должны быть причиной... В Queue.Queue() get по дефолту вроде blocking, так что, когда кончаются прокси, другой поток их освежает. В лог файле такая фигня: Сначала отмечаются все потоки, под конец активных визуально пару штук, последняя ошибка неактивных не дает никаких подсказок - обычный urlopen error
Больно смахивает на то, что проксей ему не хватает. Если реализована их очистка оттуда то это и может быть затык. Сделай следующей строчкой после получения прокси чтоб он выводил тебе какой поток получил прокси и саму прокси. Сделай логгирование на каждом шаге. P.S> http://dumpz.org/11933/ - посмотри там есть класс PROXYS, ваозможно он и решит твои проблемы...
В цикле Code: while 1==1: ... ... происходит дозвон и соответственно сброс, обьявляешь до цикла переменную количества итераций и инкрементируешь в конце цикла и пишешь в файл Code: fd = open("log.txt", "w") # callsCounter наш счетчик fd.write(str(callsCounter)) п.с. тут нечего сложного нету можно освоить за один день )
И как же? Странно =)) Такой код компилироваться как раз не дожен. Вообще в конец нужно вставить fd.close() для приличия. Перед fd.write(str(callsCounter)) отступ где? Очевидно вместо callsCounter надо писать callsCount Отступ перед callsCount += 1 PS: в целом быдлокод - не ок
Под вынь7 у одного юзера wxpython приложение так и не запустилось. Но вот насчет скорости - хз, хз. Ты лучше сравни pyCURL и python+urllib2, а не PHP+CURL и Python+urllib2. Сам CURL однозначно быстрее urllib2.
Где можно на русском почитать про модули re, urllib и urllib2 ? Официальную документацию на англ пробовал читать, из-за отсутсвия хороших знаний англ не особо понял.. По этому хотелось бы на русском почитать про данные модули)
[Dezzter], врятли, я не видел. да и вообще нужно анг. язык учить. можешь спросить, что не понятно - объясню.
Да понятно, в школе просто бездельничал, а щас времени нету на изучение Спасибо, но практически всё не понятно) Пока нечего и спрашивать то, просто хотел изучить данные модули, т.к. знаю, что скоро они мне понадобятся) Придётся пользоваться переводчиком, гуглом, чужими сорцами и множеством экспериментов
Без знания инглиша понимания как такового не будет (либо придёт оно очень нескоро, и с трудом). Python "интуитивно понятен", но только в том случае, если инглиш знаешь. Лучше потрать месяц на изучение английского, тогда проще будет. Доков нормальных на русском по питону днём с огнём не найдешь. Что может тебе помочь - Dive Into Python. Есть перевод на русский, все рекомендуют, но лично я не читал, если нужно просто вводное то почитай учебник на wikibooks, но там об этих модулях практически ничего нет. Еще порыскай Python 2.5 Reference card - охренетельная вещь (Процентов 70 тупорылых вопросов отпадут сами по себе) - ИМХО это пример идеальных доков (кратко и обо всем (на базовом уровне)). И вот Python Reference card я бы на твоём месте перевел - оно того стоит...
если что, то вот http://rgruet.free.fr/PQR25/PQR2.5.html Учи инглиш. ВСе самое вкусное именно на нем.
Ну хз хз, 4 дня питон учу.. Удивляюсь своим успехам) "Не читая книги" мини программки на лету пишу, ну так, подглядываю чисто структуру посмотреть, не более того! Ну думаю, предыдущие знания программирования дают знать о себе Типы, операции, инстукции на лету схавал =) Ну за месяц не выучишь + времени нету Обязательно найду Хехе, я как раз читаю в связке эту книгу и книгу Лутца "Изучаем Питон, третье издание" Но ни там, ни там нету про эти модули практически ни чего, буквально пару строк(( Попробую юзать в связке с переводчиком, думаю всё получится.. Ибо я многое понимаю, видя примеры, иногда даже пояснения читать не приходится) Спасибо, воспользуюсь вашими советами
Ну лично я имел ввиду http://home.uchicago.edu/~gan/file/python.pdf У самого распечатка лежит. Жалею о том, что с самого начала ее не увидел - сколько времени бы сэкономил...
Тренируюсь щас с POST авторизациями.. Решил попробовать на ачате. Вот сделал код: PHP: import urllib import urllib2 import cookielib cookie = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) urllib2.install_opener(opener) user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT' headers = { 'User-Agent' : user_agent } url = 'https://forum.antichat.ru/index.php' values = {'vb_login_username' : '[Dezzter]', 'vb_login_password' : 'пасс'} data = urllib.urlencode(values) req = urllib2.Request(url, data, headers) response = urllib2.urlopen(req) the_page = response.read() print the_page Выполняю скрипт, получаю вот что: Погуглил про Referrer в питоне, что то вообще ни чего не нашёл.. Нашёл только реализацию с курлом PHP: curl.setopt(HTTPHEADER,["Referer: https://stat.mrk/cgi-bin/traff/ipastat.cgi"]) И вообще, код правильный? Если бы не referrer, то работало бы ?
Исправь на: Code: headers = { 'User-Agent' : user_agent,"Referer":"https://forum.antichat.ru/index.php" } Тебе всего лишь нужно было добавить Referer в headers
Спасибо, проблема с Referer решина, но! Я так понял дело в кукисах, т.к. авторизация не проходит успешно. Если посмотреть страницу, то в коде страницы видно, что я по прежнему не авторизован!