• С помощью чего делаю такие GUI как 360 Total Security?

    @nirvimel
    Николай Романович: Значит, не на 100% совместимо со "взрослыми" браузерами. К тому же в таких альтернативных браузерах-велосипедах могут жить тонны багов и критических уязвимостей (на которые в популярных браузерах охотятся всем миром), а закрытость кода вообще практически гарантирует это.
  • С помощью чего делаю такие GUI как 360 Total Security?

    @nirvimel
    Почти как QtWebKit, только вместо LGPL лицензии какие-то четырехзначные долларовые цены.
  • Python3 os.path.abspath(os.path.dirname(__file__)) возвращает не то?

    @nirvimel
    т.е если сайт лежит на D:/python_proj/mysite.com
    То он должен вернуть этот адрес

    Нет, не должен.
    Откуда отдельному скрипту, запущенному из консоли знать где у вас находится какой-то сайт?
  • Теряются данные при использовании библиотеки requests Python, как исправить?

    @nirvimel
    Eva05: Специальных книг по разработке парсеров и веб-ботов, насколько я знаю, не существует. Тема довольно щекотливая, как вы понимаете, применение (на счет разработки сложно сказать) ПО для взаимодействия с коммерческими веб-сервисами (в т.ч. соц.сетями) почти неизбежно нарушает пользовательское соглашение этих сервисов. Об этом трудно писать (точнее трудно публиковать написанное). Все кричащие статьи о таком модном data mining обычно заканчиваются на примере парсера википедии. Поэтому, кроме собственного опыта, тут мало что поможет. Но не стоит думать, что тут используются какие-то секретные технологии. Написание парсеров, в целом - довольно несложная (в каком-то смысле даже тупая) работа. Необходимой теоретической базой является хорошее знание:
    1. Сетевых протоколов.
    2. Современных Web-технологий (этот пункт как раз не самый сложный, что бы там не говорили хипстеры от фроненда).
    3. Программирования в целом.
    4. Одного конкретного языка.
    5. Библиотек под под этот язык для работы с HTTP, XML (HTML - частный случай (грубо говоря)), JSON и СУБД (для хранения результатов).
  • Как монетизировать узкоспециализированный сайт общения на самоокупаемость?

    @nirvimel
    lukoie: На деньгах (и бумажных, и электронных) не написана их цель. Деньги - это просто деньги. Для того чтобы их заработать надо думать о деньгах. Отвлекаясь на посторонние вопросы, такие как самоокупаемость (совершенно абстрактное понятие), можно упустить из под носа более простые и очевидные рения проблемы. Например, в вашем случае было бы проще уделить небольшое время для создания и раскрутки коммерческого сайта, прибыль от которого сполна покроет расходы на некоммерческую деятельность в качестве хобби, чем убить кучу времени на попытки коммерциаллизировать некоммерческое и раскрутить (почти) не крутящееся.
  • Совет для записи лекций?

    @nirvimel
    Вы не понимаете, главная задача тут - найти оправдание для покупки макбука и айфона в их "полезности" в учебном процессе. А бумага и ручка этому никак не способствуют.
  • Как монетизировать узкоспециализированный сайт общения на самоокупаемость?

    @nirvimel
    lukoie: Это хорошо работает, если у вас сайт, например, про стратегии биржевой торговли и технический анализ на Форекс. Тогда:
    1. Трафик привлечь легко, так как халява и бабло - темы, актуальные среди 95% населения во все времена.
    2. Трафик в высшей степени целевой, так как человек приходит на страницу с мыслями о заработке, следовательно охотно будет кликать по рекламе, которая ему этот заработок обещает.
    3. hits/visit высокий, посетители не разбегаются напоровшись на рекламу, анализ поведенческой активности (скриптами Гугла) свидетельствует о том, что посетители в целом не разочаровываются в своих ожиданиях, впервые попадая на сайт, с интересом гуляют по страницам и активно кликают по рекламе, это заставляет Гугл очень быстро поднимать вашу позицию на вершину выдачи. Никакие статьи не заменят этого, точнее статьи необходимы для первоначальной раскрутки, без некоторого минимального объема статей сайт продвигается довольно тяжело, но дальнейшее наращивание количества статей при плохих показателях пользовательской активности с точки зрения Гугла свидетельствует о переСЕОшенности сайта и больше мешает, чем помогает в продвижении.
  • Теряются данные при использовании библиотеки requests Python, как исправить?

    @nirvimel
    Алексей Черемисин: Во-первых, чтение скриптов со страницы, и переписывание их на язык своего парсера (python, например) я не называю словом "хакнуть", это обычная рутинная работа при разработке парсеров.
    Во-вторых, перед тем как лезть в код целевого сайта, я обычно внимательно рассматриваю запросы, которые идут на сервер при авторизации (или что мы там "хакаем"), при помощи Firebug->Net, Development_Tools->Network или в крайнем случае Wireshark. Очень часто удается на глаз заметить через какие поля передаются переменные и в своем парсере быстро набросать шаблон запроса (выдернутый из пойманного запроса) с подстановкой переменных. Переменные обычно идут через: GET-параметры, POST-формы, куки, прочие HTTP-заголовки или сериализуются в JSON (XML раньше встречался) в теле POST-запроса. В большом количестве случаев таким образом удается быстро создать парсер (или теперь это уже бот?) "проходящий" сквозь авторизацию и любые скриптовые препятствия (кроме капчи). Исключение составляют случаи, когда переменные отправляются не голым текстом, а как-то шифруются/обфусцируются на стороне сткипта. В этом случае уже приходится лезть в код. Еще часто встречается случай: переменные передаются открыто, но присутствует поле с каким-то хешем, тогда опять приходится смотреть в код, как там вычисляется этот хеш. Один раз видел что-то вроде полноценного криптографического протокола с сессионными ключами, реализованного прямо на javascript (!), и это как-то даже не тормозило (как можно было ожидать).
  • Теряются данные при использовании библиотеки requests Python, как исправить?

    @nirvimel
    Selenium не эмулирует работу браузера. Selenium непосредственно использует браузер, и без установленного браузера работать не будет.
    А вот requests, pycurl и прочие urllib2 именно эмулируют работу браузера, точнее предоставляют возможность пользователю самому эмулировать нужные ему аспекты поведения браузера.
    Такая простая задача, как авторизация в социалке, исполнение поискового запроса и парсинг ответа вполне решается самостоятельно при помощи одного из перечисленных инструментов.
  • Теряются данные при использовании библиотеки requests Python, как исправить?

    @nirvimel
    - Использовать API? Регистрировать приложение?
    - Зачем, если эта функция присутствует в веб-интерфейсе?

    - Сломать авторизацию? Кто-то заплатит за обнаружение "дыры"?
    - Какой дыры? Это же штатный режим функционирования веб-интерфейса.
  • Как выглядит 128 битное число?

    @nirvimel
    Илья: одно случайное 64-бит помножить на другое случайное 64-бит (на длинной арифметике, конечно).
  • Как заказать планшет своей сборки из Китая?

    @nirvimel
    Ценнейший материал! Все это нужно аккуратно подшить в закладки.
  • Насколько безопасно использование AJAX-запросов?

    @nirvimel
    >если сессии украдут?
    Как? При грамотном использовании HTTPS - это может случиться только в результате грубой ошибки в системе безопасности сервера или по причине раздолбайства юзера, но от этого уже ничто не спасет.
    AJAX сам по себе никак не способствует и не мешает безопасности сессий. То, что безопасно на голом HTML с отправкой форм будет безопасно и через AJAX.
  • Записная книжка программиста?

    @nirvimel
    Василий: Смотря как устроена либа и смотря какой паттерн применения она предлагает/навязывает. Большинство хороших либ (из репозитария ОС, например) не навязявают никаких патеррнов их использования, а только предлагают голый набор функций. В отличие от фреймфорков, которые именно навязывают свои паттерны, и часто этим мешают сохранению DRY пользовательского кода.
  • Переходник для старого 1.8 SSD?

    @nirvimel
    У меня в комплекте с материнкой шел такой SATA шлейф - входы раздельные (1) к материнке и (2) питание, а выход на диск сдвоенный, как под разъем на этом диске (на картинке).
  • Проблема с двумя ПК. Что это было?

    @nirvimel
    Во-первых, при расследовании любого странного поведения железа, следует тестировать железяки (в том числе целые системники и мониторы) по одной, а не все вместе.
    Во-вторых, у вас разветвитель (сетевой фильтр) трехжильный (с отдельной землей), а втыкаете вы его в двухжильную розетку (без отдельной земли) или трехжильную, но не заземленную, так?
    В-третьих, есть подозрение на неправильную развязку массы в БП одного из системников.