> Я их не использую, а потому другим не рекомендую использовать. Почему вы рекомендуете людям форки, хотя сами их не используете ? Вы просто цепляетесь за возможность придраться, ибо других аргументов у вас нет. Повторю - я их не рекомендовал. Даже если бы я написал: "Gifts! Используй форки!", то они его бы не убили. Не использую я их потому что pycurl прекрасно работает в потоках. > Быстрее - не думаю, "легче" - да. И если уж говорить о скорости в сетевых задачах - посмотрите в сторону Twisted. Сомневаюсь что CURL его сделает, а если и сделает то он будет ненамного быстрее, зато ценой нагрузки на машину. Легче это как? Лёгкие, воздушные йогурты? Написание и отладка приложения с использованием twisted займёт гораздо больше времени, а мне нужен результат и как можно быстрее, работа стоит же. > Да ну? А по-моему соксы не так уж сильно и востребованы, людям обычно и http проксей хватает. Звучит как: "Да ну? А по-моему автомобили не так уж сильно и востребованы, людям обычно и трамвая хватает." А если серьезно, то подавляющее большинство продаваемых прокси являют собой именно socks. > Конечно без комментариев, а что комментировать? То что с каждым новым релизом интерпретатора разработчики стараются перепрыгнуть на более новую версию, а вы все также застываете на одной, к которой вы привязаны из-за вашего любимого CURL. Очень Python-ично. И вот так прям прыгают? И с радостью переписывают код написанный для 2.5 на 3.0? Это не фотошоп какой нибудь чтобы гнаться за номерами версий. Вы же в свою очередь застываете на том, что не можете решить поставленную задачу. На сегодняшний день 2.5 актуальная ветвь, для нее есть pycurl - библиотека позволяющая решить задачу не в ущерб функционалу, что еще надо? > Не вам оценивать мою компетенцию, тем более не предоставив никаких доказательств своей компетенции. Вы считаете мою критику вашего приложения не объективной?
Аргумент один - производительность. Легче это значит загрузка процессора не будет скакать со 100% на 99% Вы сами знаете почему. Хотя боты могут поднимать и http прокси, был бы спрос. Реально только один раз заказчику были обязательно нужны socks прокси. Не тонко троллите, вам и самому прекрасно известно что в пределах 2.х ветки все стараются переходить на более поздние версии, да и на 3.0 (!) хотели бы перейти , да продакшн не даёт. Я вашу критику не воспринимаю, чтобы на нее еще и реагировать. P.S. Если уж вам так любим ваш CURL, то почему же прожект pyCURL находится чуть ли не в мертвом состоянии? Вам не кажется, что если бы он был действительно так востребован в Python- сообществе, то бинарники релизились бы для всех актуальных версий Python (2.5<=) P.P.S. Даже тот же гугл спрыгнул с поддержки Unladen Swallow хваленой вами "самой актуальной версии" в пользу 3.х. Почему бы это ? Возможно, вам стоит взглянуть на мир шире?
Хочу начать по немногу изучать программирование (чисто для себя), в школе изучал бейсик, но он мне казался скучным и не интересным, да и по истечении четырех лет как я закончил школу, забыл его совсем. Сейчас появилось огромное желание заняться программированием, для начала решил изучать Python. И вот собственно хочу спросить: годится ли этот язык для абсолютных новичков в программировании, или же стоит начать с другого, кроме бейсика и паскаля?
Ну я как бы с Питона начал и не горю желанием переходить на что-то другое. Лично для меня он показался самым простым и логичным.
Вот хочу написать своего рода грабер файлов по ссылкам с depositfile. Опишу функционал: Cкрипт находится на хостинге ну и к примеру раз в 3 часа запускается там же находится к примеру файл .txt в котором хранится некое количество ссылок и он поочередно или рандомно начинает тянуть файл по этой ссылки с Депозита к себе на Хостинг Вопрос : Возможно такое какие модули библиотеки юзать?? если где то видели статью которая поможет мне в моей задачи поделитесь Если кто то делал что то подобное дайте ссылочку На депозите капчи нет переход осуществляется с задержкой 60 сек после чего нужно жмакнуть кнопку , что тоже интересно как её нажать средствами скрипта
1) Возможно, модули - urllib/urllib2, re 2) Любая по использованию вышеуказанных библиотек 3) Делал (и для депозита, и еще для некоторых ФО, но давно было), если найду - скину в ПМ 4) Это не вопрос - смотри азы написания ПО для автоматизации работы с сайтами - смотришь POST запрос, который отправляется при нажатии кнопки (через Wireshark), потом эмулируешь его, передавая такие же параметры.
TikTik судя по вашим сообщениям вы сравниваете разные языки на данном примере, потом если можно выложите их на общее обозрение. На коленке у меня получилось так. Список урлов не очищается, это уж сами сделайте: Code: import urllib2, cookielib, re try: urllist = open('urllist.txt', 'rb') except IOError: print 'No urllist.txt file' exit(1) def urlretrieve(url, file, opener=urllib2): data = opener.open(url).read() f = open(file, 'wb') f.write(data) f.close() def main(): headers = {'User-Agent' : 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/20100627 Firefox/3.6.6', 'Accept' : 'text/html', 'Accept-Language' : 'en-us', 'Accept-Charset' : 'utf-8', 'Connection' : 'Close'} deposit_jar = cookielib.CookieJar() deposit_opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(deposit_jar)) deposit_opener.addheaders = zip(headers.keys(), headers.values()) deposit_realurl = re.compile('(?msi)<div id="download_url".*?action="([^"]+?([^/"]+))"') for row in urllist: row = row.strip() if not row: continue req = urllib2.Request(row, 'gateway_result=1', {'Referer': row}) data = deposit_opener.open(req).read() real_url = deposit_realurl.search(data) if real_url: urlretrieve(real_url.group(1), 'download/'+real_url.group(2), deposit_opener) else: print 'Error getting real url of file' exit(1) deposit_jar.clear() if __name__ == '__main__': main()
Gifts как то так, вы правильно поняли но это ещё не всё сейчас копаюсь в Python в Perl уже есть намётки, конечный результат планируется по функциональней это всего лишь часть, спасибо за пример Cпасибо большое
а если ли в питоне аналог include php ? т.е. чтобы например можно было заинклудить шаблон с переменными внутри? пробовал через from import прописывал уже под указанными значениями для переменных но питоне ругается что значения для переменных нет
Vaal Namespaces are one honking great idea -- let's do more of those! А так Code: from module import * Если не работает выкладывайте что вы импортируете и как импортируете
файл example.py http://dumpz.org/21491/ файл example2.py http://dumpz.org/21492/ переменная test - шаблон, в нем другая переменная - proverka получаем ошибку NameError: name 'proverka' is not defined
Vaal слабо представляю, когда такая "шаблонизация" реально нужна. Но если так хочется: Code: proverka = "\nTEST\n" execfile('example2.py') print test Но лучше было бы как-то так. Example2.py: Code: test = "12312312312312312%(test)sasdasdasdasdsdaffasf" Example.py: Code: import Example2 format_dict = {'test': '_proverka_proverka_'} print Example2.test % format_dict
спасибо смысл в том что переменная test(шаблон) на самом деле это более 10000 строчек, и держать все в одном файле как то не удобно первое что пришло в голову это аналог инклуд пхп
с Google App Engine кто-нибудь связывался? возможно ли там писать текст на изображения? также попробовал с помощью images.composite объединить два пнг изображения, получилось так как будто прозрачность не учитывается - т.е. вместо нее белая заливка
Python 3.1 В idle-python3.1 Ubuntu Ctrl+2 Ctrl+spacerbar выбрасывает Traceback (most recent call last): File "/usr/bin/idle-python3.1", line 5, in <module> main() File "/usr/lib/python3.1/idlelib/PyShell.py", line 1420, in main root.mainloop() File "/usr/lib/python3.1/tkinter/__init__.py", line 1012, in mainloop self.tk.mainloop(n) UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: illegal encoding подскажите,пожалуйста