[Python] вопрос/ответ.

Discussion in 'Python' started by De-visible, 21 Jan 2009.

  1. ЕгоАкк

    ЕгоАкк Banned

    Joined:
    21 Sep 2009
    Messages:
    84
    Likes Received:
    18
    Reputations:
    0
    > Я их не использую, а потому другим не рекомендую использовать. Почему вы рекомендуете людям форки, хотя сами их не используете ?

    Вы просто цепляетесь за возможность придраться, ибо других аргументов у вас нет. Повторю - я их не рекомендовал. Даже если бы я написал: "Gifts! Используй форки!", то они его бы не убили. Не использую я их потому что pycurl прекрасно работает в потоках.

    > Быстрее - не думаю, "легче" - да. И если уж говорить о скорости в сетевых задачах - посмотрите в сторону Twisted. Сомневаюсь что CURL его сделает, а если и сделает то он будет ненамного быстрее, зато ценой нагрузки на машину.

    Легче это как? Лёгкие, воздушные йогурты? Написание и отладка приложения с использованием twisted займёт гораздо больше времени, а мне нужен результат и как можно быстрее, работа стоит же.

    > Да ну? А по-моему соксы не так уж сильно и востребованы, людям обычно и http проксей хватает.

    Звучит как: "Да ну? А по-моему автомобили не так уж сильно и востребованы, людям обычно и трамвая хватает."
    А если серьезно, то подавляющее большинство продаваемых прокси являют собой именно socks.

    > Конечно без комментариев, а что комментировать? То что с каждым новым релизом интерпретатора разработчики стараются перепрыгнуть на более новую версию, а вы все также застываете на одной, к которой вы привязаны из-за вашего любимого CURL. Очень Python-ично.

    И вот так прям прыгают? И с радостью переписывают код написанный для 2.5 на 3.0? Это не фотошоп какой нибудь чтобы гнаться за номерами версий. Вы же в свою очередь застываете на том, что не можете решить поставленную задачу. На сегодняшний день 2.5 актуальная ветвь, для нее есть pycurl - библиотека позволяющая решить задачу не в ущерб функционалу, что еще надо?

    > Не вам оценивать мою компетенцию, тем более не предоставив никаких доказательств своей компетенции.

    Вы считаете мою критику вашего приложения не объективной?
     
  2. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Аргумент один - производительность.

    Легче это значит загрузка процессора не будет скакать со 100% на 99%

    Вы сами знаете почему. Хотя боты могут поднимать и http прокси, был бы спрос. Реально только один раз заказчику были обязательно нужны socks прокси.

    Не тонко троллите, вам и самому прекрасно известно что в пределах 2.х ветки все стараются переходить на более поздние версии, да и на 3.0 (!) хотели бы перейти , да продакшн не даёт.
    Я вашу критику не воспринимаю, чтобы на нее еще и реагировать.

    P.S. Если уж вам так любим ваш CURL, то почему же прожект pyCURL находится чуть ли не в мертвом состоянии? Вам не кажется, что если бы он был действительно так востребован в Python- сообществе, то бинарники релизились бы для всех актуальных версий Python (2.5<=)

    P.P.S. Даже тот же гугл спрыгнул с поддержки Unladen Swallow хваленой вами "самой актуальной версии" в пользу 3.х. Почему бы это ? Возможно, вам стоит взглянуть на мир шире?
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ЕгоАкк, login999 прекращаем выяснять отношения и устраивать холивары
     
    _________________________
    1 person likes this.
  4. 4side

    4side New Member

    Joined:
    24 Jul 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Хочу начать по немногу изучать программирование (чисто для себя), в школе изучал бейсик, но он мне казался скучным и не интересным, да и по истечении четырех лет как я закончил школу, забыл его совсем. Сейчас появилось огромное желание заняться программированием, для начала решил изучать Python. И вот собственно хочу спросить: годится ли этот язык для абсолютных новичков в программировании, или же стоит начать с другого, кроме бейсика и паскаля?
     
  5. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Ну я как бы с Питона начал и не горю желанием переходить на что-то другое. Лично для меня он показался самым простым и логичным.
     
    #725 login999, 29 Jul 2010
    Last edited by a moderator: 29 Jul 2010
  6. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    Вот хочу написать своего рода грабер файлов по ссылкам с depositfile.
    Опишу функционал: Cкрипт находится на хостинге ну и к примеру раз в 3 часа запускается там же находится к примеру файл .txt в котором хранится некое количество ссылок и он поочередно или рандомно начинает тянуть файл по этой ссылки с Депозита к себе на Хостинг
    Вопрос :
    Возможно такое какие модули библиотеки юзать??
    если где то видели статью которая поможет мне в моей задачи поделитесь
    Если кто то делал что то подобное дайте ссылочку
    На депозите капчи нет переход осуществляется с задержкой 60 сек после чего нужно жмакнуть кнопку , что тоже интересно как её нажать средствами скрипта
     
  7. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    1) Возможно, модули - urllib/urllib2, re
    2) Любая по использованию вышеуказанных библиотек
    3) Делал (и для депозита, и еще для некоторых ФО, но давно было), если найду - скину в ПМ
    4) Это не вопрос - смотри азы написания ПО для автоматизации работы с сайтами - смотришь POST запрос, который отправляется при нажатии кнопки (через Wireshark), потом эмулируешь его, передавая такие же параметры.
     
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    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()
     
    _________________________
    #728 Gifts, 6 Aug 2010
    Last edited: 6 Aug 2010
  9. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    Gifts как то так, вы правильно поняли но это ещё не всё сейчас копаюсь в Python в Perl уже есть намётки, конечный результат планируется по функциональней это всего лишь часть, спасибо за пример

    Cпасибо большое
     
    #729 TikTik, 6 Aug 2010
    Last edited: 6 Aug 2010
  10. Vaal

    Vaal New Member

    Joined:
    8 Jan 2010
    Messages:
    37
    Likes Received:
    2
    Reputations:
    0
    а если ли в питоне аналог include php ?
    т.е. чтобы например можно было заинклудить шаблон с переменными внутри?

    пробовал через from import
    прописывал уже под указанными значениями для переменных
    но питоне ругается что значения для переменных нет
     
  11. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Vaal Namespaces are one honking great idea -- let's do more of those! А так
    Code:
    from module import *
    Если не работает выкладывайте что вы импортируете и как импортируете
     
    _________________________
  12. Vaal

    Vaal New Member

    Joined:
    8 Jan 2010
    Messages:
    37
    Likes Received:
    2
    Reputations:
    0
    файл example.py http://dumpz.org/21491/
    файл example2.py http://dumpz.org/21492/

    переменная test - шаблон, в нем другая переменная - proverka

    получаем ошибку

    NameError: name 'proverka' is not defined
     
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    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
     
    _________________________
  14. Vaal

    Vaal New Member

    Joined:
    8 Jan 2010
    Messages:
    37
    Likes Received:
    2
    Reputations:
    0
    спасибо
    смысл в том что переменная test(шаблон) на самом деле это более 10000 строчек, и держать все в одном файле как то не удобно

    первое что пришло в голову это аналог инклуд пхп
     
  15. Ice_VeNOm

    Ice_VeNOm Member

    Joined:
    5 Sep 2009
    Messages:
    36
    Likes Received:
    9
    Reputations:
    0
    Хотелось бы узнать существует ли аналог PIL под python3.1 ?
     
  16. Vaal

    Vaal New Member

    Joined:
    8 Jan 2010
    Messages:
    37
    Likes Received:
    2
    Reputations:
    0
    с Google App Engine кто-нибудь связывался?

    возможно ли там писать текст на изображения?
    также попробовал с помощью images.composite объединить два пнг изображения, получилось так как будто прозрачность не учитывается - т.е. вместо нее белая заливка
     
  17. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Vaal,
    http://groups.google.com/group/google-appengine/browse_thread/thread/8c9aef5b96ead12f
     
  18. Vaal

    Vaal New Member

    Joined:
    8 Jan 2010
    Messages:
    37
    Likes Received:
    2
    Reputations:
    0
    спасибо
    странно сдк уже 1.3.7, а это так и не поправили
    но вопрос на счет текста все еще актуален
     
  19. Nikola248

    Nikola248 New Member

    Joined:
    19 Apr 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    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


    подскажите,пожалуйста
     
  20. redvel

    redvel New Member

    Joined:
    12 Jan 2010
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0
    как в питоне найти длину строки в байтах?