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

воскресенье, 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... Хорошая игрушка. Интересно, что он делает с футами и метрами в разных ячейках одного столбца

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

Устанавливаем RapidMiner Server на Debian в соответсвии с видео

Здесь я потерял час на том, что установил переменные окружения в одной консоли, а установку дистрибутива запустил в другой, в результате у меня все время устанавливалась java 6 вместо 7. Причина невнимательности в том, что я прерывал процесс дня на два (Вспоминал LAMP и наоткрывал консолей... поупражнялся, а потом "вернулся", но не туда...) Пост получился длинным, но последовательным.

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

Надеюсь найти здесь рецепты "...grab social data (twitter, facebook, linkedin) using just a person's email address"

Некогда было посмотреть видео с заманчивым описанием. Я уже год, как не смотрел ничего на эту тему, а напрасно. В сети появилось очень много новых видео. Так что далее надо будет изучать Django + grab social data + python Будем считать этот пост декларацией о намерениях.

Как в Linux переключаться между разными версиями java?

Все началось с того, что команда java -version сообщила мне, что у меня в дистрибутиве стоит 6-ая версия, а для установки нового сервера требовалась 7-я. Я года два, как не подходил к java, потому решил не умничать, а найти мануал в инете... Мануалы нашел (ссылки здесь), но оказалось, что у меня уже стоит седьмая версия, чтобы переключиться на нее, нужно было использовать update-alternatives --config java

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

Двухминутное видео "Test and explore the LinkedIn API without OAuth getting in the way"

Нашел я его потому, что пришла пора рабтать с API LinkedIn, Facebook... До вчерашнего дня я не знал, что есть такие чудесные онлайн консоли, как apigee.com. Начал было радоваться и раскатывать губы ..., но тут же прекратил это занятие и решил взгрустнуть, так как именно сегодня linkedIn опубликовал "Changes to our Developer Program", и есть ведь у них программы BIg Data..., но "The LinkedIn Economic Graph Challenge is open to U.S. residents only" Здесь еще две враз осиротевшие ссылки на страницы с python-linkedin 4.0, Authenticating with OAuth 2.0

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

Kali (Debian) Исследуем файлы и процесс пользователя www-data с помощью команд ls, ps, pstree, find, lsof , pgrep

Чтобы разобраться, как настраивать права доступа в LAMP (менять права доступа к файлам и папкам), я решил начать с инструментов диагностики процессов и файлов. Здесь примеры команд для поиска файлов, принадлежащих определенным пользователям и группам (www-data), открытых процессом apache2 файлов, процессов, связаных с конкретным файлом, деревья процессов.
В конце распечатки страниц справки.

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

Устанавливаем MySQL Workbench и смотрим первое обзорное видео на 14 минут

Загрузил MySQL Workbench с сайта. Но перед тем, как устанавливать, решил проверить, и Kali мне подтвердил, что да, все есть в репозитории ... Попробовал залезть в локальный сервер (Kali)? оказалось, что пароль я и не поставил... Первое впечатление: все работает отлично - Python скрипты, немного круче чем MyPHPAdmin (шутка), но где же взять столько времени, чтобы это освоить?

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

Вспоминаем установку и работу в MySQL и PhpMyAdmin, и MySQL Workbench

Лет 5 назад последний раз использовал mysql в LAMP (Xampp). И вот настали времена, когда мне снова нужен стек LAMP, нужно все вспомнить, но с командной строкой, ...GUI уже видеть не могу... почему? Полагаю, появилась потребность в средствах диагностики сервера.
Так что здесь немного попрактиковался с оболочкой mysql> help, собрал ссылки на 20 видео и десяток мануалов, распечатки мануалов... mysqladmin --help
Пароль mysql такой же, как и рута в Kali (на моем локальном компьютере). Я его задал при установке phpmyadmin. Еще один жестокий промах: я оставил здесь юзера с именем root (по умолчанию)...

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

Попробовать обязательно: mawk - pattern scanning and text processing language

Ничего не знал об этой команде в Linux, но пробовать некогда. Как бы не забыть. Потому здесь просто длиннющая распечатка man awk

Вспоминаем Apache2 и распечатываем конфигурационные файлы в сборке Kali (Debian)

Конфигурационные файлы apache разные для windows, redhat, debian. И я смирился с тем, что вряд ли когда-нибудь пойму, зачем все эти "дополнительные файлы". Однако, когда читаешь куцые мануалы по установке LAMP на том или ином хостинге, надо бы представлять, куда лучше записывать те или иные директивы.
Здесь я обнаружил поддиректории с их изрядным количеством конфигурационных файлов для отдельных модулей. Разбираться с подробостями пока незачем. Потому здесь распечатал только /etc/apache2/apache2.conf и все файлы из поддиректорий /etc/apache2/ , дабы при случае вспомнить, то помимо php.ini есть еще php5.conf и он здесь. Вообще, возникают ассоциации ... apache2 Include conf.d/ с модулями php. Здесь теперь две папки с модулями (mods-available и mods-enabled) - раньше был один здоровенный конфиг, а теперь - модульные? Надо при случае проверить.

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

Об установке PHP вместе с php.net Debian installation notes

Мануалов по установке много, но обычно возникают трудности с установкой дополнительных модулей. В руководстве на php.net даются рекомендации по использованию !aptitude -h, apt-get -h, !apt-cache search php5, php --help, , таким образом, используя системный загрузчик можно посмотреть кэш, удаленный репозиторий, а можно обратиться к PHP и просто распечатать php -m (список модулей) и здоровенный php -i phpinfo()

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

Устанавливаем Revive Adserver на декстопный Kali (Debian) для тестирования

Здесь устанавливаем Revive Adserver на Kali (Debian). Поскольку у меня обычно подобные процедуры происходили в раздражающей спешке, то я предварительно решил "вспомнить" все проблемы, которые возникали при подобных установках. Вспоминание LAMP было в предыдущих постах, а здесь я решил предварительно вспомнить про контрольные суммы файлов, архиватор tar, назначение владельцев директорий и прав доступа к папкам.
Про права адеялся найти в мануале, но ничего вразумитеьного не нашел. Потому установил все под рутом. Решил сначала запустить сайт, протестировать, а уж потом начать эксперименты с малопонятными владельцами процессов вроде www-data. Зато скрипт установки выполнился почти без проблем. Вот только к заранее созданной БД он не подключился. Но создал новую...
Сайт работает хорошо. Пароль для админки такой же, как и для Kali