Поиск по блогу

среда, 28 сентября 2016 г.

Jupyter и IPython - заметки при первом беглом чтении документации

Заинтересовался темой Making kernels for IPython. Нашел описание This section focuses on IPython and Jupyter notebook and how they interact. Однако времени на изучение нет. Здесь фрагменты и ссылки, для будущих упражнений.
И видео (немного не оп теме) "Real time Collaborative Jupyter Notebook in Escherpad"

вторник, 27 сентября 2016 г.

Устанавливаем kernel R essentials для Jupyter Notebook

После того, как я научился команде activate py35 (см. предыдущие посты), захотелось попробовать Jupyter Notebook c ядром nodejs, но не получилось, зато ядро R установил без проблем.

воскресенье, 25 сентября 2016 г.

Упражняемся с Conda (Anaconda) и учимся переключать окружение Python

Год назад я попробовал разобраться с настройкой переменных окружения для переключения между версиями iPython, но навалился фронтенд (с заказами), так что пришлось "вспоминать" javascript и осваивать nodejs... Здесь я возвращаюсь к этой задачке (в плане софт для статичтических исследований, а он под Python 3). Проверил актуальност старого поста, нашел "новую" документацию. Все наладил при помиощи activate py35, jupyter notebook

воскресенье, 14 августа 2016 г.

Видеокурс "Разработка веб-сайтов с использованием Python и Django"

На сайте Microsoft Virual Academy собраны бесплатные видеокурсы. Здесь первый видеоролик, естественно, на английском, а подстрочник на русском (!?)

четверг, 3 декабря 2015 г.

Свежие видео о Ipython Notebook JuPyter

Я год не заглядывал в документацию, а зря все развивается очень бурно. Здесь видео с обзорами, а к ним код с nbviewer.ipython.org Интерактивные виджеты, Параллельные вычисления, Кастомизация, использование компонетов в других приложениях...

вторник, 1 декабря 2015 г.

Создаем для JuPyter возможность одновременной работаты c Python 2.7 Python 3.4

Одолели мысли по поводу использования notebook для отладки Javascript. Обнаружил, что с третьим питоном делать это можно очень просто. Здесь научился создавать пространство имен для python 3 conda create -n py3k python=3 anaconda, но долго не получалось запустить notebook так, чтобы в ней появились опции выбора переключения версий ядра между 2-ым и 3-им питоном. Надо было перегрузить компьютер. Здесь видео и с 10-к ссылок... на документацию. Там все просто...

воскресенье, 29 ноября 2015 г.

Копипаст IPython Notebook: Javascript/Python Bi-directional Communication

После беглого прочтения статья показалась мне очень интересной, потому и скопировал к себе в черновики. Потом прочитал о новых возможностях juPyter, и отложил дальнейшее изучение... Однако "...Nevertheless, I thought folks might be interested to hear what I've learned"

This notebook originally appeared as a post on Pythonic Perambulations by Jake Vanderplas.

суббота, 28 ноября 2015 г.

Между делом: надо не забывать про "conda update conda"

Смотрел видео про виджеты в Питоне. Там авторитетные люди начали с того, что обновили версии. Захотел, чтобы и у меня было, как у людей. Обновился, а "ipython notebook" выдает No module named notebook.notebookapp. Пришлось гуглить... Как бы мне научиться планировать инфраструктурные задачи...

воскресенье, 15 ноября 2015 г.

Здесь пытался понять, как лучше использовать Jupyter для отладкт javascript

Надо было подобрать и настроить ява скрипты для сайта. Если делать это в NOtebook, то можно сразу и отладить и записать варианты настройки. Заманчиво... но как это сделать? Как загружать на страницу jypyter кастомные js скрипты и стили? Оказывается, что вариантов несколько, в зависимости от того, что нам надо. Для глобальных задач есть специальная папка .ipython\profile_default\static\custom\custom.js, файл custom.js автоматически вставляется в тег head страницы. Для тетирования фрагментов кода предусмотрены объекты в IPython.display (Display, HTML, Javascript, IFrame ...), а еще есть магики %%html %%javascript В сочетании с возможностью загрузки внешних скриптов $.getScript('/static/custom/util.js'); и обращения к element.append(myvar) (Use the element variable for printing in the cell output area) все это надо осваивать. Здесь примеры и ссылки.

вторник, 23 июня 2015 г.

Выбираем (в Pandas) инструменты для экспресс-анализа истории поисковых запросов

Хорошо было бы иметь методику анализа поисковых запросов, над ней еще предстоит поразмышлять, а здесь я попробовал не расчитывать, а сразу строить нормировки (на графиках процессов), диаграммы рассеяния и коэффициенты корреляции. Получилась вот такая последовтельность:
Копипастим таблицу "История запрсов" Yandex-Direct в ячейку ipython notebook,
Чистим и редактируем содержание ячейки (кириллица, копипастим разделители)
Считываем содержание в DataFrame (Pandas) .read_csv(StringIO(posobie_c),sep=" ", ...)
Заменяем элементы в подстроках и конвертируем строки в числа .str.replace(',','.').astype('float')
Для удаления части подстроки используем регулярные выражения .str.replace(r'.+ - ','')
Или просто разбиваем строку на подстроки и оставляем подстроку f.Period.str.split(' ').str[2]
Назначаем индекс .set_index('Period') (понадобится ось X для диаграмм)`
Строим две зависимости на одной диаграмме f.set_index('Period').nabs2.plot(secondary_y=True, style='g')
Строим диаграммы рассеяния (scatterplot)
Рассчитываем коэффициенты корреляции

вторник, 2 июня 2015 г.

Как легально скачать и установить обновленный Windows 8.1 на VMare и загрузочную флешку

Предстояло иметь дело с сомнительным софтом, и я вспомнил о "простаивающей" виртуальной машине. Поначалу поытался найти способ сделать из моего дистрибутива ISO-образ, но оказалось, что ntgthm можно скачать новенький дистрибутив Windows. Здесь я собрал ссылки на статьи, в которых рассказывается , как
1. Скачать ISO-образ с "Create installation media for Windows 8.1"
2. Узнать свой ключ активации.
3. Установить Windows (с моим ключом активации) на виртуальную машину VMware.
4. Сделать из ISO-образа загрузочную флешку (пусть будет).

воскресенье, 31 мая 2015 г.

Инструкция по подключению дебаггера "Using A Remote Debugger With CasperJS and PhantomJS"

Ну очень понравилось... Особенно после того, как я помучился с node-inspector. Здесь механизм тот же. Используется мощнейший дебаггер браузера (webkit). Запуск PhantomJS скрипта возможен с опцией --remote-debugger-port=9000. Таким образом можно загрузить в любой "внешний" браузер (но только webkit, естественно) не только сам скрипт (из фантома), но и html страницы, и файлы, которые запрашивает Phantomjs.
Похвалюсь, описание настройки дебаггера нагуглил по собственной инициативе... в документации попалась только опция. Здесь же ссылка Description of the V8 debugger JSON based protocol.

суббота, 30 мая 2015 г.

Устанавливаем Casperjs на Debian (Kali) из GitHub и находим способ "phantomjs casperscript.js"

Установка простая, если не считать того, что CasperJS version 1.1.0-beta3 at /usr/local/share/casperjs, using phantomjs version 1.9.8 (Casper пока рабтает только с предыдущей версия Phantom). Кроме того, я решил выполнять скрипты casper из консоли REPL, для этого учусь запускать касперскрипты в командной строке phantomjs.
Хотя, пробовать будем потом, здесь только краткие фрагменты из документации.

Устанавливаем Phantomjs на Debian (Kali) так, чтобы потом установить Casperjs

На моент написания поста последняя версия Casperjs соответствовала предыдущему релизу Phantomjs. Так что мне пришлось искать в репозитории версию phantomjs-1.9.8-linux-i686 и устанавливать ее. Здесь подробный лог установки. Надо запомнить прием создания символической ссылки ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin

пятница, 29 мая 2015 г.

Почему редактор brackets не работает на машине с Kali, буду юзать его под windows

После установки Google Chrome я полагал, что редактор наконец заработает, но не тут-то было. Вот такая ошибочка вышла version 'GLIBC_2.15' not found required by /opt/brackets/lib/libcef.so . У меня хватило ума прервать мои вечерние упражнения с установкой новых программ, и сегодня с утра я сказал себе: "Обновить центровую графическую библиотеку всей сборки? Оно тебе надо?" Как там у классика? Кажется: "Люди потеряли дух авантюризма..." И я тоже... Старею, однако... Но здесь три ссылки с решением для авантюристов и логи моих безрезультатных экзерсисов...

Как установить Google Chrome Stable Version On Kali (Debian, Ubuntu)

Этот тот случай, когда надо бы использовать репозиторий разработчика. Но не везло мне с репозиторием Гугла. Не хотел дистрибутив Chrome устанавливаться без ошибок. Наверное, не очень то мне и хотелось... Но вот приспичило, и установил с помощью волшебного удара в бубен apt-get install -f. Надо его запомнить.

четверг, 28 мая 2015 г.

Размышляем на тему Python + Cron

Пока я не придумал ничего лучше, чем Cron. И, дабы не переписывать расписание, настроенного под Linux на Windows, меня устроила бы обертка того и другого..., например python-crontab.
Всего здесь с десяток ссылок ...для дальнейших размышлений...

среда, 27 мая 2015 г.

Пробуем команды debugger; чтобы исследовать модуль request nodejs

Чтобы вывести в консоль заголовки можно использовать NODE_DEBUG=request node r01.js . Команда выглядит необычно, второй вариант NODE_DEBUG=response ... Эта опция дожна рвботать с любым модулем (?).

вторник, 26 мая 2015 г.

Правим код к видео "Web Scraping in Node.js". Правило: Видео - документация - stakoverflow

Три дня назад я опубликова пост "Посмотрел Web Scraping in Node.js ...". У меня тогда не получилось выполнить код из видео. Оказалось, что синтаксис команды var url = this.attr('href'); теперь такой var url = $(this).attr("href");. Gjlhj. На странице Cheerio все хорошо документированио, на StackOverFlov тоже есть примеры. Здесь не только ссылки, но и записан процесс поиска ошибки, и обоснование правила: видео - документация - stackoverflow, немного о jQuery...

понедельник, 25 мая 2015 г.

Nodejs. Смотрю видео, запоминаю три приема с debugger, а проба node-inspector в комментариях

И все это на машине с Kali (Debian). Очередная попытка установить софт "между делом" не прошла. Дело: смотрю видео (от Кантора) дабы освоить дебаггер, тупо устанавливаю node-inspector, а он сообщает мне, что не находит Chrome, действительно, нет на этой машине ни одного вебкита.
Между делом:Нахожу в инете мануал How to Install Google Chrome in Kali Linux, но оказывается, что дело это хлопотное... Спрашивается, зачем я это сделал? Думать было некогда!

воскресенье, 24 мая 2015 г.

Посмотрел "Web Scraping in Node.js" by Smitha Milli и скопировал сюда код из видео

А как парсить HTML страницы с Nodejs? Это вопрос не давал покоя. Здесь базовые видео Web Scraping in Node.js by Smitha Milli и ссылка на библиотеки. Идея с использованием nodejs + Request + Cheerio зацепила. Особенно после того, как в книге (Бибо, Каца) jQuery я обнаружил тот же код, что и в видео.

четверг, 21 мая 2015 г.

Selenium или PhantomJS для скрапинга LinkedIn. Пример Python кода

Здесь фрагменты и ссылки по трем важным темам: "Что такое Selenium"(статья на Хабре), "Пример Python кода работы с Selenium" (30 минут видео и код), "Scraper для LinkedIn"(код из видео с from selenium import webdriver).
Кроме того, здесь ссылки на 4 статьи Selenium для Python

среда, 20 мая 2015 г.

Возможности ... и десятки библиотек для тестирования и парсинга на основе Nodejs

Здесь около трех десятков ссылок для понимания Nodejs и того, как можно парсить html-страницы... И копипаст перечня "I'm trying to put list of possible solutions for browser automatic tests suits and headless browser platforms capable of scraping"

Selenium и "In this video I explain how to use PhantomJS"

Надо помнить, что Phantomjs использует webdriver from selenium import webdriver. Здесь пример кода из видео. Его надо попробовать, но потом. Пока надо быстро прочитать всю документацию по всем проектам, дабы принять решение, что выбрать для начала (Nodejs, Phantom, Selenium).

вторник, 19 мая 2015 г.

Кто взахлеб читает мой диск c Google Chrome?

Здесь я, замученный наглостью Google Chrome, скопипастил 8 строчек из монитора процессов (w8), дабы пригвоздить к позорному столбу сокет(?) http://go.microsoft.com/fwlink/?LinkID=136333 на (3 814 250 228) 3 гигабайта.
Строчки отсортированы по полю Прочитано байт

понедельник, 18 мая 2015 г.

Последствия просмотра видео "Введение в NPM - менеджер пакетов для Node.JS "

Здесь в начале поста собраны видео (от Кантора), npm help, npm-faq, а потом я задаю поиск в репозиторииnpm s linkedin и распечатываю один из найденных файлов. Им оказался phantom-linkedin
Запомнить: Менеджер пакетов сначала ищет директорию node_modules в текущей, потом в родительских папках, если не находит, то создает...

Семантическое версионирование и структура пакета NPM (nodejs)

Здесь видео (от И.Кантора)... фрагмент описания с semver.org ... и поучитеьный пример загрузки не из репозитория, а с GitHub npm i https://github.com/jeanphix/Ghost.py.git

воскресенье, 17 мая 2015 г.

Постигаем азы с видео "Automation with PhantomJS "

Здесь я набрал код из видео... и решил, что из этого примера надо запомнить приемы if(system.args.length - проверки количества аргументов в строке запуска, document.getElementById("firstname").value ="Joe"; - (пере)присвоения значений полям, setTimeout(function(){phantom.exit()}, 400)

суббота, 16 мая 2015 г.

Ссылки и фрагманты кода ...при чтении статей и документации к Phantomjs, Slimerjs, Casperjs

Решил, что пришла пора прочитать документацию к Phantomjs, Slimerjs, Casperjs. Читать надо было именно в этой последовательности. За этим занятием провел день. Предыдущий мой наскок на Slimerjs был в январе. Я тогда даже установил его..., но плохо помнил об этом. Потому сегодня решил разобраться, как это работает и с чего начинать.
Предварительные выводы: в Phantomjs есть REPL и множество примеров, а в документации Slimerjs есть описание классов. Первый на Webkit, второй на Geko. Без них никуда. А вот на "синатксический подсластитель" Casperjs время тратить не хочется.
Мне пока проще фантомом вырезать в файл один блок (div) с вебстраницы, а потом рапарсить его в (более мощном) Scrapy. Так что Casperjs пока будет стоять в очереди за Nodejs... Здесь еще фргменты кода из статей и видео.

Перечитал статью "Screen Scraping with Node.js" и приготовил видео для изучения import.io

Попалась перепечатка. А в статье (трехлетней давности) разделы Simple Scraping With YQL, Using YQL with NodeJS, Enter PhantomJS, Installing PhantomJS-Node, Using PhantomJS-Node... Поскольку я уже знал, что Phantomjs - это не модуль nodejs, то возникли вопросы: как лучше устанавивать Phantomjs? Отдельно, или интегрировать с Nodejs? Решил сначала прочитаь документацию, а потом уже искать ответ на этот вопрос. Здесь еще ссылки Yahoo dev console, import.io
Беспланый сервис, который работает в связке с Tableau... Хорошая игрушка. Интересно, что он делает с футами и метрами в разных ячейках одного столбца