python или ruby - Форум успешных вебмастеров - GoFuckBiz.com - Страница 3
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.4375
BTC/USD67598.6682
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.03.2011, 12:23
Start Post: python или ruby 
  #21
super
Ебланнед
 
Регистрация: 03.06.2008
Сообщений: 3,846
Бабло: $432125
По умолчанию

вообщем хочу что - то популярное, про руби не знаю, но вот про питон понятно всё

прошу прочесть пост полностью и ответить, очень нужно выслушать, есть ли это всё в этих ЯП

сейчас речь идёт именно о библиотеках соответствующих ЯП, а не о сторонних решениях, типа возьми selenium и пользуйся им

хотелось бы услышать ваши мнения, какой ЯП лучше

что мне точно понадобиться:

модули и классы, чтобы были не глючные, чтобы не было проблем с установкой:

http(s)
smtp
pop
imap
ftp
ssl
proxy
socks

чтобы классы позволяли работать через все протоколы через socks
чтобы классы позволяли работать через http и https через proxy
чтобы классы позволяли авторизироваться через http(s)
чтобы классы позволяли авторизироваться на proxy и socks серверах
чтобы классы позволяли составлять цепочки socks
чтобы классы производили автозаполнение cookies
чтобы классы производили атозаполнение referrer

теперь про автозаполнение, то есть при переходе по страницам, по доменам объекты классов сами считывали кукисы и подставляли в HTTP Header Cookie

чтобы при переходе по страницам и доменам объекты классов сами заполняли HTTP Header Referrer, это означает, что при заходе на сайт и при переходе после этого на другую страницу домена этого же сайта или другого referrer автоматически заполнялся

классы должны поддерживать метод POST:

application/x-www-form-urlencoded
Multipart/form-data

и так далее

чтобы классы поддерживали загрузку больших фалов с запоминанием количества скачанных байтов и поледующее продолжение, то есть докачку чего - либо

чтобы классы не зависали из - за плохой реализации, это значит, что если через сокс нельзя подключиться например или просто нет connect, то должно что - то возвращаться, чтобы в своих скриптах это что - то можно было обработать, то есть при любых ошибках класс не прерывал работу всей программы, а что - то возвращал для дальнейшей обработке в своих программах, это обязательно, лучше сразу спросить, чем потом самому всё писать, мне нужно всё работающее

и чтобы эти библиотеки работали отлично и на windows и на unix

Последний раз редактировалось super; 20.03.2011 в 12:31.
super вне форума  
Старый 20.03.2011, 19:00   #22
WebNinja
grablab.org
 
Аватар для WebNinja
 
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,891
Бабло: $322264
Отправить сообщение для WebNinja с помощью ICQ Отправить сообщение для WebNinja с помощью Skype™
По умолчанию

уровень заработков неплохого erlang кодера позволит ему смотреть на вебмастеров как на гавно. =)

кстати касательно хаскелля! на питоне тоже есть функциональное программирование очень понимаешь ли иногда приятно завернуть ченить этакое dict(filter(lambda x : False if x is False else True, map(lambda x, y : (x, y) if x is not None else False, a, b)))

а вообще вот что ) недавно была задача.

self.items - результат парсинга csv файла в словарь. там поля разные title/product_type/link/image url и в таком духе причем по категориям разбито все хуево (поле product type часто не соответствует наименованию или даже оно пустое). нужно было получать как бы выборки товаров по определенным кейвордам из этого списка (к пример все часы watches). т.е. проверять входил ли кейворд в title/product_type и т.д. Умельцы девелоперы с канала pythonua (jabber.ru) которым я показал как я решил задачу почти посакрощали это дело до одной строчки на пятоне. снабдив все это комментарием :
Цитата:
«код завершён не когда больше нечего дописать, а когда больше нечего убрать» ©
Но собственно один из принципов говорит - простое лучше сложного поэтому излишнее рвение по применению функционального программирования сильно затрудняет чтение кода и неподготовленного человека ставит в ступор.

что получилось в итоге (компромис между читаемостью и размером). обратите внимание на кол-во строк.

Код:
    def get_category_by_keyword(self, keywords, types=['product type', 'title']):
        """
         Get slice from item list by keyword
        """
        def _match(items, keys_, types_):
            """ A=['a','b'] B = ['cd', 'ae', 'bu'] => (false, true, true) """
            for t in types_:
                for k in keys_:
                    yield k in items[t]
                        
        return filter(lambda x: any(_match(x, keywords, types)), self.items)
__________________
www.imscraping.ninja
grablab.org | blog

Последний раз редактировалось WebNinja; 20.03.2011 в 19:14.
WebNinja вне форума  
Старый 20.03.2011, 19:05   #23
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,354
Бабло: $470735
По умолчанию

Цитата:
Сообщение от WebNinja Посмотреть сообщение
уровень заработков неплохого erlang кодера позволит ему смотреть на вебмастеров как на гавно. =)
haskell надо
читал интервью одного из создателей хаскеля, он сейчас работает в исследовательской группе IBM(вроде). Говорит сложный язык получился
это если уж создатель такое сказал....
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 20.03.2011, 19:05   #24
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,787
Бабло: $299365
По умолчанию

Цитата:
Сообщение от WebNinja Посмотреть сообщение
уровень заработков неплохого erlang кодера позволит ему смотреть на вебмастеров как на гавно. =)

кстати касательно хаскелля! на питоне тоже есть функциональное программирование очень понимаешь ли иногда приятно завернуть ченить этакое dict(filter(lambda x : False if x is False else True, map(lambda x, y : (x, y) if x is not None else False, a, b)))

Бред написал или я не смог в голове разобрать ?
rushter вне форума  
Старый 20.03.2011, 19:09   #25
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,197
Бабло: $247847021
По умолчанию

Цитата:
уровень заработков неплохого erlang кодера позволит ему смотреть на вебмастеров как на гавно. =)
на него вакансий то куй есть
imgreen вне форума  
Старый 20.03.2011, 19:17   #26
WebNinja
grablab.org
 
Аватар для WebNinja
 
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,891
Бабло: $322264
Отправить сообщение для WebNinja с помощью ICQ Отправить сообщение для WebNinja с помощью Skype™
По умолчанию

Цитата:
Сообщение от rushter Посмотреть сообщение
Бред написал или я не смог в голове разобрать ?
нет )
Есть два списка разной длины, в одном ключи, в другом значения. Составить словарь. Для ключей, для которых нет значений использовать None в качестве значения. Значения, для которых нет ключей игнорировать.

можно короче. это вариант что называется "в лоб"
__________________
www.imscraping.ninja
grablab.org | blog
WebNinja вне форума  
Старый 20.03.2011, 19:23   #27
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,197
Бабло: $247847021
По умолчанию

Цитата:
«код завершён не когда больше нечего дописать, а когда больше нечего убрать» ©
Цитата:
dict(filter(lambda x : False if x is False else True, map(lambda x, y : (x, y) if x is not None else False, a, b)))


imgreen вне форума  
Старый 20.03.2011, 19:50   #28
medar
кодер-энтузиаст
 
Аватар для medar
 
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,378
Бабло: $447150
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
читал интервью одного из создателей хаскеля, он сейчас работает в исследовательской группе IBM(вроде). Говорит сложный язык получился
Хаскелл. Мой любимый. Создан чтобы троллить форумы вроде этого. Свою задачу выполняет на 100%, идеален. Не слишком распространён, чтобы меня с ходу могли поймать за руку за размещение нерабочего кода, но и не слишком редок, чтобы все начали думать, что на нём никто не программирует. Позволяет писать шарады, достаточно сложные для понимания даже другими хаскеллистами, при этом не выглядит как Перл. Любой начинающий программист, решивший написать `Hello World' на Хаскелле, наткнётся на слово `монада'. При попытке выяснить что это такое, получит что-то среднее между `моноид в категории эндофункторов' и `живые, духообразные единицы, из которых все состоит и кроме которых ничего в мире нет'. Поэтому начинающие программисты пишут на Хаскелле факториалы. При этом в той же степени рискуя наткнуться на любое другое непонятное слово, начиная с `правая свёртка' заканчивая `зигохистоморфический препроморфизм' . По свистоперделкам Хаскелл уступает разве что C#-у. Но если типичная свистоперделка шарпа - это LINQ - такая клёвая штучка, чтобы писать на C# как на SQL-е, то типичная хаскеллевская свистоперделка - это полиморфизм ранга 2 - такая клёвая штучка, чтобы писать зигохистоморфические препроморфизмы. А чтобы писать на Хаскелле как SQL-е, нужно подключить кванторы существования (ExistentialQuantification), классы типов с несколькими параметрами (MultiParamTypeClasses), функциональные зависимости (FunctionalDependencies), полиморфизм ранга 2 (Rank2Types), гибкие экземпляры (FlexibleInstances), гибкие контексты (FlexibleContexts), неразрешимые экземпляры (UndecidableInstances), экземпляры синонимов типов (TypeSynonymInstances), лексические области видимости для переменных типа (ScopedTypeVariables) и шаблоны (TemplateHaskell) конечно же, зато вам не придется учить SQL, клёво! Однако по непонятной причине большинство людей всё-таки вбирают C# с LINQ.
http://www.e1.ru/talk/forum/read.php...78035&t=178035
medar вне форума  
Старый 20.03.2011, 20:15   #29
WebNinja
grablab.org
 
Аватар для WebNinja
 
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,891
Бабло: $322264
Отправить сообщение для WebNinja с помощью ICQ Отправить сообщение для WebNinja с помощью Skype™
По умолчанию

да ладно, разобраться можно ) чутка другая прадигма.
все что там написано умного можно объяснить простыми словами.
__________________
www.imscraping.ninja
grablab.org | blog
WebNinja вне форума  
Старый 20.03.2011, 20:17   #30
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,197
Бабло: $247847021
По умолчанию

Ненавижу принцип меньше кода - лучше. Глупые выебоны хитрожопых индусских кодеров.
imgreen вне форума  
Старый 20.03.2011, 20:22   #31
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,787
Бабло: $299365
По умолчанию

Индусам больше как раз таки надо.
rushter вне форума