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

понедельник, 29 декабря 2014 г.

Первый приемлемый вариант работы c jQuery Console+Scratchpad c CSS селекторами вместо XPath

Сначала определились со структурой селекторов html-кода (есть картинка), а потом использовали две строчки кода:
var qq ='*.tile-pin__text';
$(qq).map(function(){return $(this).text(); }).get().join("\n");

У jQuery есть отличный справочник, как и на сайте JavaScript MDN

воскресенье, 28 декабря 2014 г.

Ссылки по теме "XPath MDN Mozilla" и "Introduction to using XPath in JavaScript MDN"

Здесь десяток ссылок от Mozilla Development Network. Эти записи я сделал, когда пытался выбрать инструментарий для парсинга html-страниц. Потом я догадался разделить все мои задачи на две категории. Первая - настройка селекторов для спайдеров (Scrapy). Вторая - ручной (экспрес)парсинг из одной-двух html-страниц, когда надо быстро, а паука писать не хочется. ТОгда можно открыть консоль и по-быстрому вырезать нужные элементы. И все работает, только одна проблема вырисовывается - чтобы вытащить нужные данные из объектов консоли нужны довольно сложнве команды. К таким выводам я пришел после беглого знакомства с мануалами от MDN И Явускрипт победил простой плагин XPath helper.

Короткий пример с работы с jQuery из консоли $x для просмотров запроса Xpath

В плагине FirePath генерируем строку запроса XPath, открываем консоль, а в ней уже выполняем сначала var hr =$x('html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[5]/div[2]/a/@href');, а потом пробуем примерhr[0].nodeValue)map(function(){return $(this).text(); }).get().join("\n")

суббота, 27 декабря 2014 г.

Найден хороший плагин XPath Helper for chrome, но хочется большего

Это предисловие я пишу уже после того, как понял, что мне нужно разделить задачи генерирования Xpath для "боевого" парсера и "экспресс-парсинга" данных с HTML страницы. Здесь же я пытался решить сразу две, окончательное решение для каждой в последующих постах, а здесь пример, пояснения и картинка для XPath Helper for chrome

пятница, 26 декабря 2014 г.

ScrathPad почти идеальный js редактор

Здесь видео и ссылки на документацию. Мне не удалось найти автодополнение и контекстную справку для jQuery. На данный момент для справки jQuery я использую консоль Firebug. Именно Firebug, а не встроенные инструменты 'Web Developer'

вторник, 9 декабря 2014 г.

После обновления Ipython Notebook нужно было править таблицы стилей CSS для экспорта в Blogger

Дело это неблагодарное, но деваться было некуда, HTML шаблон Notebook был изменен так, что все мои "новые" посты выглядели ужасно. После того, как их набралось больше сотни, я понял, что надо совершать подвиг... Здесь я пытаюсь понять, зачем мне три файла CSS - около 250 строк, которые я выбрал из 2500 строк, генерируемых после импорта nbconvert --to html --template full...
Ну, и конечно, я пытаюсь провести работу над ошибками, почему я угрохал на эту задачку 4 дня...

понедельник, 8 декабря 2014 г.

My old Blogger template for this Notebook in Google Drivenotepad

There are some old lines of css and java scripts here. And nowadays everything is working fine... But time goes by... one day I will have to repair this code... but not today.
Today I prepare this old Blogger Template for new GoogleDrive online Editor. And everyone can look for bugs here right now.

Три файла CSS для Blogger. Я везде "отсек все лишнее", а свои хаки добавил в третий файл

Здесь три файла CSS после моего декабрьского апргрейда. А еще (только для меня) три ссылки на файлы в новом онлайн редакторе css.editey. Все изменения тут же записываются на GoogleDisk. Ну очень удобно. В редакторе есть (!)подсказки (на картинке в желтых треугольниках), с которыми еще надо бы поработать.

вторник, 2 декабря 2014 г.

Зачем нужны Scrapy Feed exports и CsvItemExporter

Первый вариант настройки в документации, второй - super(SlybotCSVItemExporter, self).init(args, *kwargs) - чемпион ГитХаба, для начала я воспроизвел второй вариант от github agrimrules/Python-Web-Crawler но воспроизвел в посте Пробовал "Scrapy feed exporter" ... а до первого варианта здесь так и не дошел... Зато в этом посте около 30 ссылок !

воскресенье, 30 ноября 2014 г.

Topmail Spider with ScrapyFileLogObserver and traceback

Здесь я привожу первый вариант решения (фрагменты паука) в котором компилятор выводит сообщения в один файл, а ошибки в другой. При этом все (логирование) дублируется в консоли.
Кроме того, traceback выводит подробные сведения о перехваченных ошибках.

Как вывести в лог описания ошибок успешно перехваченных в "exceptions"?

Например, у меня выскакивала ошибка, я ее перехватил, но теперь в сообщениях консоли вместо имени модуля..., номера строки, имени переменной... только мои записи о перехвате, ... теперь, чтобы вытащить информацию об ошибке надо использовать методы из библиотеки traceback.

суббота, 29 ноября 2014 г.

Примеры настройки логирования в Scrapy и картинка "loggers, handlers, filters, and formatters"

"If you’re ready for that, grab some of your favourite beverage and carry on"... Так я начал читать документацию "дебаггинг для продвинутых", поскольку предстоит писать в длиннющие логи... Сначала я нашел на Stackoverflow варианты вывода логов в фва файла, а потом прочитал еще и мануалы Python...

вторник, 25 ноября 2014 г.

О конструировании списков в Python и хорошем стиле программирования

Здесь я "открыл", что конструктор item['new']=["" for j in range(len(iu))] выдает список, который ничуть не короче, чем item['new']=["WoW" for j in range(len(iu))] И весь этот пост наполнен упражнениями, ...рассуждениями пытливого туповатого самоучки, который завидует тем, кому преподы все подают на блюдечке...

воскресенье, 23 ноября 2014 г.

Как лучше парсить, чистить и склеивать строки вида 'http://127.127.0.1:8080'

Сразу вспомнилось про find-replace, ранее нашел split, "вспомнил", что каждая строка - это (упорядоченный)список, значит можно манипулировать индексами s[i] s[i:j] по позициям элемента... А это неправильно, не список, а КОРТЕЖ... Значи, подстроки нельзя изменять простым присваиванием...

Как парсить date и преобразовывать строки в объекты datetime.datetime

В документации Python все подробно описано, в этом посте примеры для использования в парсерах. Как строку преобразовать в объект даты... Здесь и табличка со всеми директивами, напрмир %A Weekday as locale’s full name (Sunday, Monday... )

суббота, 22 ноября 2014 г.

Между делом восстановил аккаунт GitHub, ума не приложу, что с ним делать

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

четверг, 20 ноября 2014 г.

Pydiction - это плагин к Vim, который "Tab-complete your Python code"

Сначала установил (здесь написано, как), а он не работает в Windows. Здесь собраны все материалы для того, чтобы позже прочитать и наладить...

среда, 19 ноября 2014 г.

Видео "Python in VIM" и список редакторов с автозаполнением..., и штатная IDLE Python

Я немного научился пользоваться Spyder (и IPNotebook, естественно). "Немного" - это значит без затруднений. По мере того, как мои проекты стали разрастаться, понадобилось открывать сразу два-три проекта. Я начал было искать "легкие "IDLE" и редакторы с подсказками и автозаполнением...
Установил Komodo, посмотрел видео про Python in VIM, нашел целый список редакторов на StackOverflov... Потом вспомнил про штатный IDLE, скопировал оттуда приемы работы с автозаполнением и подсказками... Действительно, раз есть "штатные приемы" автозаполнения и вызова подсказок, то все IDLE должны их использовать...

вторник, 18 ноября 2014 г.

Смотрим видео "jQuery + Node.js + Phantom.js = Automation Awesomesauce" и вспоминаем про node webkit

Посмотрел только начало..., потом вспоминал Node-webkit, здесь много ссылоко и задел для будущего обучения
In this presentation, Travis will walk you through how jQuery can be used in conjunction with an incredible headless browser technology called Phantom.js. When pairing these two technologies together, you get a fantastic testing and automation framework, but we won't stop there... by mixing these with the backend Javascript framework called Node.js, we produce an extremely powerful testing and automation framework that is both efficient, fun, and easy to use.

понедельник, 17 ноября 2014 г.

Зачем нужны Scrapy Feed exports и CsvItemExporter

Первый вариант настройки в документации, второй - super(SlybotCSVItemExporter, self).init(args, *kwargs) - чемпион ГитХаба, для начала я воспроизвел второй вариант от github agrimrules/Python-Web-Crawler но воспроизвел в посте Пробовал "Scrapy feed exporter" ... а до первого варианта здесь так и не дошел... Зато в этом посте около 30 ссылок !

воскресенье, 16 ноября 2014 г.

Попробовал Scrapy HTTPCACHE middleware. Понравилось

Включается FHTTPCACHE_ENABLED, два режима (политики) кэширования, три вида хранилищ, возможность управлять кэшированием для (схем) типов файлов, протоколов ответов серверов, задавать время перезагрузки кэша ...

пятница, 14 ноября 2014 г.

Пробовал "Scrapy feed exporter" Скачал Python-Web-Crawler и сразу же запустил

Код в feedexport.py показался мне необычным - super(CSVkwItemExporter, self).init(args, kwargs) Здесь пример паука, который формирует csv таблицу с двумя последовательными полями, но в строке запуска нужно указать scrapy crawl njit -o 13nov.csv -t csv

четверг, 13 ноября 2014 г.

Schtasks - управления заданиями из командной строки Windows... и CronNT

Помимо графической оболочки есть еще и Schtasks с отличной справкой, часть которой здесь и распечатана. Оказывается, что можно посмотреть на все задания в системе. А еще есть утилита CronNT, которую можно установить , как службу Windows.

вторник, 11 ноября 2014 г.

Инструкция "class" в Python - это не объявления, ...class создает объект и является неявной инструкцией присваивания (конспект гл. 28)

...в отличие от инструкции в C++, в языке Python она не является объявлением. Подобно инструкции def, инструкция class создает объект и является неявной инструкцией присваивания – когда она выполняется, создается объект класса, ссылка на который сохраняется в имени, использованном в заголовке инструкции.

К вопросу об использовании yield вместо return

Для понимания того, как оуществляются отложенные операции. Классический пример - функция на каждой итерации цикла передает результат другой функции, а сама ждет следующего вызова... Здесь конспект из главы 20 Лутца.

понедельник, 10 ноября 2014 г.

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

Начал было присваивать значения новому "столбцу" с Item['adress'] = Item['ip'], а потом сформировал в цикле новые значения вида Item['adress'][i]=... И удивился, когда обнаружил, что поменялся и Item['ip'] Однако... все здесь объекты, а имена переменных - это только ссылки (точнее - указатели) на эти объекты (а не на метки областей памяти)...

суббота, 8 ноября 2014 г.

Обработка исключений в Питон. Примеры из книги М. Лутца и help(exceptions)

В книге исключениям посвящены три главы. Здесь заметки при чтении первой и второй... Пока не вижу смысла нырять глубже

Исключения в языке Python – это высокоуровневый инструмент управления потоком выполнения. Они могут возбуждаться интерпретатором или самой программой – в любом из этих случаев их можно игнорировать (что вызовет срабатывание обработчика по умолчанию) или перехватывать с помощью инструкций try (для обработки в своем программном коде).

пятница, 7 ноября 2014 г.

Починяем BIOS на старых примусах типа HP Pavilion dv5-1000us

У нашей Гали тихо сдох ноутбук. Перестал загружаться после праздников. Замена батарейки BIOS не помогла. Встал вопрос о перепрошивке. Гуглопоиск "восстановление биос на ноутбуке hp" неожиданно быстро вывел на толковый пост. Казалось бы, для восстановления\обновления BIOS идеально подошла бы "загрузочная" флешка, вставил, нажал, выбрал... и все восстановилось. Такая флешка у HP есть, но за деньги... А наши умельцы сконструировали халявный бубен, коим я и воспользовался.

понедельник, 3 ноября 2014 г.

Как я учился, чтобы исправить свои дурацкие ошибки... и совершал новые при отладке в пауке XMLFeed...

В пауке XMLFeed... решил поробовать создать новый столбец из свежеспарсенного словаря списков... Пишем файл pipeline.py в котором фильтруем записи о серверах по времени, типу прокси и стране. Потом записываем результат в виде строк "http://777.77.77.77:8080" в текстовый файл. В процессе работы выскакивают ошибки, я быстро ликивидирую безграмотность перечитывая и конспектируя книгу Лутца. Сроки поджимают, стоит ли продолжать ликбез? Насколько он необходим?

суббота, 1 ноября 2014 г.

Сначала надо получить список атрибутов dir(), а потом вытащить строки в тройных кавычках при помощи help()

Сначала командой dir() распечатываем список атрибутов объектов. Потом функцией help(), или .__doc__ вытаскиваем строки комментариев из атрибута (или) объекта. Help() - это обертка __doc__? Следует помнить также, что функция help может извлекать информацию не только из встроенных, но и из любых других модулей (в том числе - моих).

Кроме того, обычно отдельно online поставляется подробная документация в HTML формате - это документация, которую мы читаем обычно на сайте (но устаревшая). Еу не надо путать с PyDoc - это всего-лишь HTML примочка для чтения .doc

понедельник, 27 октября 2014 г.

Первая проба сохранения файла с алиасами в ipdb ".pdbrc is read in and executed as if it had been typed at the debugger prompt"

Здесь постиг умние писать простейшие команды в файл .pdbrc и сохранять его в папке проекта, точнее в папке, запуска дебаггера. А перед этим написал четвертый конспект о PDB. И все это безобразие в Windows...

пятница, 24 октября 2014 г.

Работа над ошибкой в первом xml спайдере XMLFeedSpider привела к рождению метафоры "Сознание-Мозг"

Начал было писать pipelines для Первый вариант паука XMLFeedSpider (без pipelines) Но паук никак не желал работать. На поиск простой ошибки я потратил целый день. Здесь я пытаюсь воспроизвести свои действия и решения, дабы хоть немного поумнеть.
014-10-24 18:27:23+0400 [proxylists] ERROR: Spider error processing

среда, 22 октября 2014 г.

Исправляем код "Random proxy middleware for Scrapy" и открываем способ поиска в форках

Здесь в качестве упражнения разбираем хрестоматийный пример Random proxy middleware for Scrapy и находим ошибки в устаревшем коде. Результат - рабочий код... и и десяток ссылок для его рефаеторинга. Сложный поиск на GitHub не нашел в форках ... того, что удалось найти по запросу process_exception(self, request, exception, spider) proxy

понедельник, 20 октября 2014 г.

Читаем статью "Проксирование в Scrapy" ... и знакомимся с middleware из проекта "tutorial"

Здесмь я якобы систематизирую мои представления о Scrapy middleware. Читать документацию - дело утомительное. Мне удалось найти короткие статьи на русском, в которых дается три рецепта: 1) http_proxy, 2) Spider settings 3) download middlewatr

суббота, 18 октября 2014 г.

пятница, 17 октября 2014 г.

Разбираем, что делает в Scrapy "downloadermiddleware\httpproxy.py"

В справке к urllib.getproxies() нашел "It scans the environment for variables named _proxy ...and when it cannot find it... looks for proxy information from ... Windows Systems Registry ..." ... и поумнел... По сути httpproxy.py этим только и занимается. Поскольку он включен по умолчанию, то надо попробовать "set (export) http_proxy"

четверг, 16 октября 2014 г.

Первый вариант паука XMLFeedSpider (без pipelines)

Пишу первого паука для парсинга XML фида. Сначала я прочитал документацию и попытался разобраться с основными понятиями. Этот процесс отразился в посте "Читаю документацию XMLFeedSpider", а вот здесь попробовал записать процесс работы над пауком. В итоге работающий полуфабрикат.

вторник, 14 октября 2014 г.

Читаю документацию XMLFeedSpider

Вспоминаю про пространство имен по примеру от Google, запоминаю, что не надо строить все дерево DOM для длинного фида, распечатываю класс XMLFeedSpider

Читаю "Введение в асинхронное программирование и Twisted" ...чтобы понять Scrapy Request

Нашел перевод Введение в асинхронное программирование и Twisted отличного учебного пособия (с кодом на Github). Испытал серврер slowpoetry, из книги постарался запомгнить три важных понятия: асинхронная однопоточная модель, Reactor, Defferer

воскресенье, 12 октября 2014 г.

Читаю серию из 5-ти статей "five life jackets..." - подробный пример Scrapy

Здесь много полезного. Начиная с пауков, советов типа $x(//div), подробно расписан процесс подключения Postgres... Скачал репозиторий. Посмотрел ссылки из статей, добавил "Scrapy Contracts Evolution"... Здесь только ссылки (штук 20)

Ссылки из процесса поиска ПРОКСИ и изучения "DownloadHandler for scrapy that uses socksipy connections"

Я буду пробовать два варианта работы с прокси: 1) TOR - переключение сущностей, 2) Списки прокси... Здесь ссылки на страницы, котрые я не хотел закрывать в течение двух недель... Потом понял, что еще две недели руки до них не дойдут... Поэтому здесь есть и txsocksx, PySocks Github, и Twisted Core, и Socket Programming HOWTO, и telnetlib python example, github scrapy-examples,

вторник, 7 октября 2014 г.

Попробовав NMAP я понял, что могу наконец составить список утилит для полной диагностики сети

Этот именно тот софт, который включает набор утилит... и для Windows. На сайте nmap.org помимо сканнера хостов nmap -v -sn 192.168.1.* | grep -v down и портов nmap -sS -v 192.168.1.15 есть набор необходимых инструментов, например, ncat (продвинутый клон nc), здесь примеры сканирования моей локальной сети и ссылки на справочники... есть и GUI - Zenmap ... очень удобная штука, сама генерирует командную строку...

понедельник, 6 октября 2014 г.

NetCat or socat - Multipurpose relay (SOcket CAT)

Изучая Netcat (nc), я попробовал было загрузить для Windows какой-то левый файл, но Comodo заблокировал его, как опасный. Потом я нашел "netcat++" (extended design, new implementation) и решил было, что надо изучать его (он поддерживается). Но, кроме того, обнаружил, что netcat интегрирован в nmap... "Ncat is our modern reinvention of the venerable Netcat (nc) tool released by Hobbit in 1996" и прекрасно документирован ...и видео есть... Установил nmap на w8 и получил ncat в довесок

воскресенье, 5 октября 2014 г.

Распечатал справку cmd /?

Есть несколько "застарелых" инфраструктурных настроек, до которых не доходят руки (потому, что не хватает знаний), надо их решать (учиться) систематически и "маленькими порциями". Для этого здесь публикую распечатку cmd /?
Надо бы знать, что такое, например, "отложенное расширение переменных среды"

пятница, 3 октября 2014 г.

Осознаем откровения из статьи"Создание SSH-туннелей с помощью PuTTY"

Чтобы настроить туннелирование с Putty нужны небольшие ухищрения. Начинаем с пошагового видео о подключении к удаленному рабочему столу Windows (RDP) и не забываем про ссылки на статью (на русском) о пробросах портов (там еще 94 комменария)

четверг, 2 октября 2014 г.

Посмотрел видео о взаимодействии telnetlib с netcat и нашел Python Sock сервер для тестов... и настроил под него Putty

Чтобы попрактиковаться с telnet+lib можно использовать netcat (sudo nc host port), в видео для этого открыты две консоли, и обмен строками текста впечатляет..., но искать вариант netcat (без вирусов) для windows лень. Проще написать sock сервер на Python. Здесь все ссылки для этого и готовый код. И справка по опциям netcat (ее надо поюзать в Kali)... И первые результатыэкспериментов с Putty и telnetlib

среда, 1 октября 2014 г.

Танцы с бубном Telnet

После того, как я прочитал, что альтернативой Stem (SIGNAL NEWNYM ... Python API Tor) может служить telnetlib, стало очевидным, что надо понимать, как работает (и юзается) Telnet. Здесь собраны ответы на все (почти) мои вопросы... даже по работе с "кривой" консолью в w8.

суббота, 27 сентября 2014 г.

DownloadHandler for scrapy that uses socksipy connections

Первое впечатление такое, что это именно то, что я искал. Потому здесь полный копипаст. Поскольку подход автора "I simply copied the code for HTTP11DownloadHandler" очень понравился. Все это понадобится мне в ближайшее время.

четверг, 25 сентября 2014 г.

Документация и код "SocksiPy - Python SOCKS module"

Чтобы вспомнить сокеты читаем сначала документацию Python "Socket Programming HOWTO", 17.2, а потом импортированный сюда readme.txt SocksiPy WHAT IS A SOCKS PROXY?
A SOCKS proxy is a proxy server at the TCP level. In other words, it acts as a tunnel, relaying all traffic going through it without modifying it.

Перечитал "Сокеты в Python для начинающих" ... обратил внимание на комментарии

Это статья на Хабре. Там простые примеры, а в комментариях есть сетования, что серверу обычно нужно читать заголовки (заголовок, длинна, тело) и прикреплена красивая картинка со схеомй работы протокола TCP. Скопировал сюда картинку и ссылки на документацию Python... И код сервера, и код клиента...

среда, 24 сентября 2014 г.

Пробуем выполнить код из TOR With Python Tutorial #2 ( видео 2)

Смотрим второе видео, в котором к простому примеру (из первого видео, которое я посмотрел в мае) добавляется метод def newIdentity(). В примерах использовались библиотеки socket, socks, httplib . Исправляем ошибки и запускаем пример из первого видео - connectTor(), но поменять IP newIdentity() здесь не удается - raise SOCKS5Error("{:#04x}: {}".format(status, error))

вторник, 23 сентября 2014 г.

Начинаем изучать "Stem is a Python controller library for Tor"

На сайте Tor нашел сылки на библиотеку (здесь A Tor control protocol (Version 1)), обновления свежие... Надо изучать. Сюда соберу все ссылки... Stem is a Python controller library for Tor. Like its predecessor, TorCtl, it uses Tor's control protocol to help developers program against the Tor process, enabling them to build things similar to Vidalia and arm. Stem's latest version is 1.2.2 (released June 7th, 2014).

понедельник, 22 сентября 2014 г.

Читаем wiki netbeans и смотрим видео "HTML5 Testing and Debugging..."

К поискам редактора для js и nodejs. Здесь ссылки на прекрасную документации к HTML5 NetBeans. Я посмотрел три видео, со странице по первой ссылке можно скачать файлы примеров, прочитать статьи к видео.

воскресенье, 21 сентября 2014 г.

Чтение статьи "Обмен данными для документов с разных доменов" и мысли о NetBeans PHP

Кроссдоменные взаимодействия до недавнего времени были запрещены. С удовольствием прочитал две статьи Ильи Кантора на javascript.ru Изменения в XMLHTTPRequest 2 все упростили.
На том же сайте нашел и статью про редакторы, в комментариях десятки ссылок. Рассматривая документаци к NetBeans нашел Руководство "Debugging and Testing JavaScript" А там можно (вроде бы) перехватывать скрипты из Google Chrome...

пятница, 19 сентября 2014 г.

Распечатаем код analytics.js (Google) и разделы документации к библиотеке

В документации написано: "Мы разработали новый фрагмент кода JavaScript для отслеживания поведения посетителей на сайте – analytics.js. Он работает по такому же принципу, что и предыдущая версия, ga.js, но дает разработчикам больше гибкости в настройке".
И здесь решил я начать юзать этот сервис. Как они используют AJAX POST?

четверг, 18 сентября 2014 г.

Measurement Protocol Reference (копипаст Google devguides)

Постижение того, что для отслеживания действий пользователя можно испоьзовать AJAX Post запросы далось мне только после того, как сегодня утром я нашел описание в "JavaScript" Джона Рейсинга. Я туп, но не безнадежен, поскольку прочитав вчера "Measurement Protocol Reference", решил, что надо "освежить" AJAX...
Здесь (от избытка чувств) размещаю копипаст документации и ничего больше.

среда, 17 сентября 2014 г.

Функция User ID и Сервис Universal Analytics ... и справка Google Analitics

Здесь собраны сылки и фрагменты из документации. Объясняется, в частности, как пользователь Денис пьет чай 31 минуту, а у него умирает кука **__utmb** ... По умолчанию библиотека analytics.js использует всего один файл cookie, **_ga, для сохранения уникального идентификатора клиента.
Копаем глубже в веб-отслеживание (analytics.js) И открываем велосипед: как вот это
POST /collect HTTP/1.1 Host: www.google-analytics.com** используется вместо куки?

вторник, 16 сентября 2014 г.

Здесь мы возвращаемся к вопросу о переключени "инстансов" (IP) в TOR

Нагуглил два подхода: с Telnet и с библиотекой Python. Библиотек несколько, например Stem, TorCtl, TxTorCon, JTorCtl, PHPTorCtl Надо будет выбрать... И Telnet надо будет опробовать

Собираем здесь все типы файлов cookie в Google, ... классификация cookie и даже букмарклеты...

Решил соборать в однм месте справки о куках Google, Google Analitics. А в chrome, оказывается, можно отключать сторонние куки, запускаться в режиме инкогнито, настраивать исключения для отдельных доменов.

понедельник, 15 сентября 2014 г.

Вспоминаем про document.cookie, собираем ссылки про куки от Universal Analytics в Google Analytics

Здесь собираю ссылки на принципы работы с cookie ( Wikipedia, jQuery plugins, IT безопасность). Нахожу в справках Гугла описания многочисленных недостандартов куки... Пробую java script и нахожу плагины jQuery. Их хвалят на Stackoverflow... Не надо пренебрегать javascript. Отдельно отметим ссылку на "желтый сайт" Are you trying to get to Google? А всего здесь ссылок 30-ть... Изрядно

Читаю про .pac файлы для настройки и перключения прокси

Пробовал Proxy SwitchySharp, обнаружил там возможности работы с .pac файлами, оказалось, что и в браузерах есть такие фозможности. Здесь около двух десятков ссылок на материалы, которые я прочитал, но плохо запомнил. Так что пока не решил, как их лучше использовать... и в Fiddler тоже...

суббота, 13 сентября 2014 г.

Второе впечатление о Fiddler2

Здесь ссылки на видеоподборки, которые я просмотрел. Есть и видеолист YouTube... Fiddler отлично взаимодействует с IE (WinHTTP)

пятница, 12 сентября 2014 г.

Здесь видео о настройке stream index Wireshark

Находим в параметрах TCP поле [stream index], создаем (правой кнопкой) столбец. Это видео подтвердило то, что я "открыл" сам. Потому констатирую, что прекращаю смотреть все подряд, посольку вышел на уровень уверенного чайника Wireshark.

четверг, 11 сентября 2014 г.

Wireshark tcp.hdr_len<27 в дайтаграмме переговоров о соединении - это плохо!

В этом видео показано, как использовать фильтр tcp.hdr_len<27&&tcp.flags.syn ==1. Запомним подход - фильтровать можно и по длине фрагмента, заголовка..., после этого видео я пошел искать книги по WireShark, где были бы собраны такие примеры...

среда, 10 сентября 2014 г.

Списки плагинов для Chrome (подбирал по темам cookie, proxy, REST)

Это было начало работы по подбору плагинов для работы со Scrapy. Классический случай, когда приходится перелопачивать уйму информации понимая, что знаний не хватает. А в плагинах должно быть собрано все самое лучшее (например, как бы я узнал про .pac файлы для proxy)

суббота, 6 сентября 2014 г.

В Wireshark cуществует опция "Allow subdissector to reassemble TCP streams", она помогает оценить длительность HTTP загрузки

Как осуществляется инкапсуляция, когда HTML страничка "длинная"?  Её, естественно разбивают на фрагменты, каждый из фрагментов затем запихивают в область данных TCP контейнера. Здесь короткие видеоролике о том, как построить график длительностей загрузок

Два примера использования Regex в Wireshark из видеоролика

В видео "Use Regex to Filter for a Group of Phrases" объясняется, что в строке фильтра можно использовать регулярные выражения типа http.request.uri matches "(attachment|tar|exe|zip)"
Ограничиваем область поиска и задаем фильтр...

пятница, 5 сентября 2014 г.

Data в Sequre Sockets Layer - это всегда подозрительно, Wireshark Protocol Hierarchy Statistics

Посмотрел видео, добавил сюда еще и текст и картинку из моего компьютера. Видео надо будет просмотреть еще раз, там есть упоминания о том, что это за ""Data"...
Data в протоколе TCP являются подозрительными. Откроем Statistics -> Protocol Hierarchy, отфильтруем, при клике правой кнопкой по строчке открывается контекстное меню... потом снова откроем...

Диагностируем ошибки TCP по этим видео... Потом пытаемся понять, что за ошибки имела в виду Laura Chappell

Здесь я заготовил два видео с текстом "Create the "Golden Graph", "Find TCP Problems Fast ..." in Wireshark (Correlate Low Bandwidth with TCP Errors)". Хочу выяснить, что автор считает "TCP Errors". Оказывается, их можно скопировать из "Coloring Rules" ... В итоговый график включить обычный TCP и отфильтрованый... и использовать логарифмический масштаб, как на картинке из видео1...
А из второго видео пытаемся понять, что это за фильтр: tcp.analysis.flags && !tcp.analysis.window_update

четверг, 4 сентября 2014 г.

Как оценить TTL (TCP Options) задержку ответа... видео о TimeStsmps в Wireshark

Квадратные скобки, например [Time since first frame in this TCP stream: 0.073505000 seconds] в раздела TCP wireshark означают, что это не стандартный параметр протокола TCP, а интерпретация Wireshark.
Здесь в 7-минутном ролике @laurachappell показывает, как добавить два варианта столбцов Timestamps в общую таблицу. А во втором фрейме TCP Extensions for High Performance rfc1323

среда, 3 сентября 2014 г.

При запуске NETSH (в Windows) программа рекомендовала мне использовать Power Shell, а потом я прочитал About WinHTTP

Netsh позволяет настраивать параметры сетей. В частности netsh winhttp show proxy (в предыдущем посте есть картинка о связи Fiddler и winhttp) ... Сюда я скопировал из консоли несколько справок (на русском) и мой первый запуск Power Shell... и с десяток ссылок: "Общие сведения о командах Netsh"... "How to Start Windows PowerShell on Windows 8" ...Netsh.exe and ProxyCfg.exe Proxy Configuration Tools

понедельник, 1 сентября 2014 г.

Fiddler - все ссылки и видеоролики. Особенности - WinHTTP, CryptoIP, WinINET... и Internet Explorer

Скрипач может через IE мониторить трафик 127.0.0.1 (Monitor traffic to localhost from IE or .NET) и расшифровывать HTTPS трафик, в остальном работает, как и большинство снифферов, как прокси-сервер (:8889), может встраиваться в цепочки прокси..., в браузерах нахально прописывается сам ...

воскресенье, 31 августа 2014 г.

Ссылки на RawCap и Powershell script чтобы отслеживать localhost (127.0.0.1) в Wireshark

Перехватчик процессов GTK+ не отслеживает localhost (127.0.0.1)Как преодолеть этот недостаток wireshark? Я использовал RawCap ... но есть еще способ "Powershell script to enable windows to capture localhost traffic in wireshark" Я здесь на всякий случай скопировал код из этого блога

четверг, 28 августа 2014 г.

Здесь советы по использованию переменной окружения HTTP_PROXY (HTTPS_PROXY)

Загнать всех в цепочку прокси можно переменной окружения HTTP_PROXY (HTTPS_PROXY) Из консоли выполняем в windows - set, в Linux - export... Но значит ли это, что все TCP/IP соединения начнут использовать прокси автоматически? Выходит, что таки да. Есть даже переменная "no_proxy" Но я, однако, сомневаюсь... но проще попробовать, чем искать ответ в сети... Не забыть опубликовать ответ в комментариях.

среда, 27 августа 2014 г.

вторник, 26 августа 2014 г.

Wiki, developer`s guide, первые подборки видео и отборные статьи для практикумов по WireShark

Очень понравилась статья "Wireshark — приручение акулы". Здесь просто ссылка на нее и несколько видео, которые я посмотрел до этого. Потом я нашел подборки на статей Хабре... "Первые несколько миллисекунд HTTPS соединения", "EFF рекомендует сниффер против нечестных провайдеров", "Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)", потом обнаружил wiki Wireshark. А там, например, Wireshark Loopback capture setup

понедельник, 25 августа 2014 г.

RawCap - может захватывать 127.0.0.1, Proxy/spider tool suites, sequrity tools - ссылки на обзоры

Здесь ссылки на снифферы и обзоры. Задавшись вопросом о том, что мне нужны инструменты для просмотра http заголовков, я начал пробовать Telnet... понял, что надо понимать и заголовки tcp, ip, ethernet... Вспомнил про книгу "Технологии защиты информации в интернете" Попытался найти ее электронную версию, не нашел сразу... но нашел потом (см. более поздние посты).

среда, 20 августа 2014 г.

Не нашел, как решить проблему сброса Telnet в Windows, но в Linux все работает, даже примеры с telnetlib

Тупая проблема с Telnet в windows. Соединение закрывается. Тупая потому, что надо найти где и на что нажимать. Консоль просто подвисает... Здесь штук 20 ссылок - процесс поиска решения... Но вот я догадался попробовать telnet в Linux... и все заработало. Зачем вообще разбираться с тем, как при помощи Telnet имитировать заголовки и запросы браузера? Пожалуй только потому, что Python позволяет читать ответы и программировать разные варианты переговоров. В конце поста примеры с telnetlib и многочисленные ссылки, например, есть упоминание "...Another method is to use netcat" .

понедельник, 11 августа 2014 г.

Как работать в Scrapy shell через прокси. Поски привели к request.meta Последующие эксперименты с TOR озадачили

Объект shell request - обертка для реклизации класса Request. Пример работы с объектом из оболочки здесь Problem logging into Facebook with Scrapy, а в этом посте мои эксперименты с request response, settings... Пост кончается тем, что я соединился с проверочным сервисом TOR (через Privoxy - TOR), а он мне сказал SORRY...

воскресенье, 10 августа 2014 г.

Распечатываем scrapy и scrapy.crawler.Crawler.settings

Рассматриваем страницу руководства Core API и читаем там, что есть настройки по умолчанию. А эти настройки можно переопределить при вызове из консоли, в файле settings.py проекта в конкретном пауке (из папки spider). А как менять такие параметры, как proxy из shell? Сразу не разберешь, потому здесь распечатываю файлы дефолтных настроек и фрагменты документации "Core API", "Requests and Responses".

пятница, 8 августа 2014 г.

Понял, как подменять user-agent Scrapy shell...

Как менять параметры запроса в Scrapy shell? При запуске shell можно менять константы (объекта) settings, а при работе из запущенной оболочки shell можно менять параметры (словаря) объекта запроса response в команде fetch(myresponse). В первом случае надо найти в документации, как пишется -s USER_AGENT, а во втором распечатать словарь объекта request.headers { ... 'User-Agent': 'Scrapy/0.20.1 (+http://scrapy.org)'}

среда, 6 августа 2014 г.

Проба запустить паука через TOR была отложена из-за того, что IDE Spyder не увидел новую папку. Раз способности ослабевают, ...

...надо дробить процесс на маленькие элементы - потому отложу TOR и попрактикую Scrapy shell. В середине недели пришлось отложить подключение TOR и прочитать IDE Spyder ... Оказалось, что этот редактор показывает (во всех эксплорерах) содержимое подпапки проекта, но при работе в редакторе вызов из модуля (или консоли) обычного импорта объекта из другого модуля выдает ошибку... оказывается, я просто забыл про init() в папке

понедельник, 4 августа 2014 г.

Установка privoxy на windows для работы с TOR

Попытки найти файл для установки Polipo на Windows заняли много времени, поскольку разработчики предлагали скомпилировать экзешник самостоятельно. Скачал чей-то готовый для пробы, но пришла в голову мысль - посмотреть Privoxy. Его и установил... Здесь копия конфигурационного файла.

пятница, 1 августа 2014 г.

Первый спайдер-сырец с тремя объектами pipeline (работающий четвертьфабрикат)

Снова подправил mail_csv_2_1.py Получил почти окончательный вариант паука, который парсит csv, и добавляет поле rtesponse.url. Потом первый объект pipeline убирает первые две строчки, а второй pipeline из поля URL выбираеит нужные подстроки. Сначала мы записываем все поля в файл, используя опцию (scrapy crawl mail_csv_2_1 -o items_2_2.csv -t csv), а потом дописываем модуль'scrapy_csv_2.pipelines_tofile.CsvWriterPipeline' Этот пост - решение всех задачек, которые возникали в предыдущих постах.

вторник, 29 июля 2014 г.

Метод split объекта str и другие методы строки

В предыдущем посте оператор ** "i['purlplit'] = i['purl'].split("/")[-1]"** выдает пустую строку. Здесь мы проверили, как работает метод split и распечатали help(str). Хотя оказалось, что строка "хитрая", причина в особенностях работы объекта Item (следующий пост).

суббота, 26 июля 2014 г.

Пробуем добавить поля в паука mail_csv_2_1. Парсим i['proj_name'] = response.url.split("/")[3]

Добавляем в файл паука в def parse_row(self, response, row) операторы присвоения новых полей. Паук теперь парсит csv файл в 6 полей, но это не окончательный вариант

пятница, 25 июля 2014 г.

Pipeline для того, чтобы отфильтровать первые две строчки после парсинга из источника nissan_2.csv

В штатном примере Dirbot есть фильтрующий pipeline. Оказалось, что его можно приспособить для фильтрации кириллицы. Не зря я собрал раньше все свои упражнения в пост Кодировка UTF-8 Или, как дружить с объектами Str и Unicode Pyton 2.x
Накануне читал два раздела документации Scrapy - Pipelines, Item Loaders... Здесь пример простейшего практикума.

среда, 23 июля 2014 г.

Парсим csv файл своим первым MailCsvSpider

И выясняем, что паук просто ищет текст между разделителями (запятая) в csv файлах и формирует из них именованные поля Item Fields. Но это еще не все, он пропускает пустые строчки...

Как сохранить response.body в файл прямо из спайдера Scrapy (filename = "spider_"+response.url.split("/")[-2])

Чтобы проект имел законченый вид, надо бы записать (куда-нибудь) результаты. Сделать это проще всего в текстовый (csv) файл. Нашел пример Creating a simple python crawler with scrapy и попробовал. Все получилось. Сама по себе идея об оработке файла в процессе парсинга пришла после того, как я вспомнил про CacheMiddleWare...

вторник, 22 июля 2014 г.

Пошаговое руководство по созданию проекта Scrapy CSV

Создаем первый проект для парсинга csv файлов. Записываем все действия. После того, как был прописан абсолютный путь (да еще) и к новому "правильному" локальному csv файлу, сообщения в консоли подтвердили правильное распарсивание строк. Этим здесь и ограничились...

вторник, 15 июля 2014 г.

Пример замены scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware

В предыдущем посте мы поняли, как задаются методы класса Settings. В этом мы откроем, что можно обращаться с объектом, как со списком settings['USER_AGENT']... Прочитаем, как меняются дефолтные настройки DEFAULT_REQUEST_HEADERS, DOWNLOADER_MIDDLEWARES_BASE, перейдем к middleware..., и в конце скопипастим код из статьи Using random user agent in Scrapy.

Продолжаем осваивать Scrapy shell - пытаемся понять и запомнить то, что выскакивает после .TAB в консоли iPython

Здесь мы учимся работать с консолью. Сначала на примере dirbot (scrapy shell "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/") смотрим на объекты request, response, settings... распечатываем объекты типа settings.overrides или spider.settings.overrides. Потом находим паку settings и распечатываем init.py в котором и задаются все методы класса Settings.

вторник, 8 июля 2014 г.

Беспризорный Apache у меня стоял на Windows

... еще спрошлого лета. Остался от практикума по курсу Java. Я его просто "включил" и добавил сюда пути к папкам установки и распечатал конфигурационный файл на всякий случай. Теперь можно пробовать Сurl (и прочих) в условиях максимально приближенным к боевым.

Пытался понять почему антивирус такой прожорливый? Додумался, как настроить Google Chrome...

Здесь ссылка на справочник по форензике, распечатка файла конфигурации Chrome и простой рецепт: Меню - Настройки - Показать дополнительные настройки - Система - Продолжать работу приложений в фоновом режиме после закрытия Comodo Dragon - снять флаг (убрать галочку)

пятница, 4 июля 2014 г.

Снова выскочила ошибка "Не могу загрузить mathjax.js

Это всего-лишь внешний джава-скрипт. Соединение с инетом отвратительное... Может быть просто пора менять интернет-провайдера? А ошибка выскакивает для того, чтобы обратить внимание на кэш сервера (когда IPython стоит на удаленном компьютере). Здесь размещаю ссылки на документацию.

Curl EXIT CODES (коды ошибок копипаст)

There are a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:

четверг, 3 июля 2014 г.

Curl command with proxy ...все из curl.1 the man page

И ссылка на отличные примеры Linux curl command with proxy. Если задать поиск по man Curl со словом "proxy", то получится этот пост

Экспериентирую с HTTP заголовками Cookie в переговорах с Tornado localhost:8888

Убедился, что увидеть отправляемые http-заголовки можно и с Tornado... Далее прочитал раздел и законспектировал cURL > Docs > HTTP Cookies и статью на Хабре "Интеграция JavaScript cookies в CURL"

Смотрю видеоподборку от theurbanpenguin о том, как с Curl постить в Twitter полуавтоматом...

В видео "BASH Lesson tutorial - Use cURL to post to Twitter " учат, как щебетать ... с помощью fortune. В "LINUX: HTTP-Scripting-With-curl ". После более детельного знакомства (посмотрел, как форируется строка команды curl ...)с другими видео (здесь штуки 4) понял, что надо переходить к чтению статей по конкретным опциям...

среда, 2 июля 2014 г.

Третий этап освоения Curl - статьи по запросу типа "Curl user agent"

Первые практикумы (curl -v -i -I -D) Как скачать страницу, посмотреть исходящие и входящие HTTP заголовки, перенаправить все в файл, подменить заголовок "user agent"

Обзорное видео с примерами команд Curl (со списком команд)

Смотрим видео и сверяемся с описанием команд в мануалах по ссылкам. для этого открываем странички мануалов с опцией "поиск на стрнаице"...

вторник, 1 июля 2014 г.

Справочник основных команд VIM (7 summary from vimtutor)

Руководство настолько мне понравилось, что я решил сделать из него справочник "Все на одной странице". Полагаю, что в ближайшее время я буду постоянно им пользоваться.

VIM - это редактор не для чайников, смотрим видео и пробуем интерактивную онлайн-обучалку

Здесь ссылки на Cygwin, плагины node-js, snipmate... на которые я вышел после двухдневного изучения онлайн справочников команд и утилиты vimtutor... Здесь еще неудачный копипаст поста из чужого справочника.

Распечатка man curl довольно длинная

Потому здесь больше ничего нет. Только копия манулала... curl.1 the man page

Что изучать wget или curl?

Wget - в Википедии ругают за медленное развитие, ... и менеджер закачек Wget я не смог найти... А на Curl сейчас базируются многие библиотеки. Здесь я пытался их сравнить и распечатал краткие справки (wget -h ...) Здесь еще 15 ссылок... 5 из них по другой теме "Как анализировать и пробовать заголовки"

суббота, 28 июня 2014 г.

Первое знакомство с Node.js - видеоуроки на русском

Не сразу, но нашел около 40 видероликов от Ильи Кантора. Посмотрел 20. Скачал с GitHub архив примеров кода к видео. Здесь же с десяток ссылок: книга на русском и справочник, ссылки на Google v8, c9.io, express, Examples expressjs applications, heroku, IDE for Node.js,

четверг, 26 июня 2014 г.

Смотрю видео (2:21:04) "Documenting Your Project in Sphinx" с архивом на GitHub ... и нахожу два отличных справочника

Понравились два приема (после просмотра первого часа видео). Пробую здесь не конспектировать, а отмечать интересные идеи (вопросы, приемы, идеи...). Буlу дополнять пост в процессе просмотра оставшихся 80 минут.
После следующих 10 минут просмотра пришла в голову мысль - на бесплатный хостинг залить примеры из видео. Посмотрел на Гугл-сайтах. Там нельзя использовать свои страницы... И вот именно тут "осенило" и тут же нашел два готовых отличных чужих справочника... продвинутый Sampledoc и (азы) Documenting Your Project Using Sphinx

Устанавливаем в Kali "sphinx-bootstrap-theme"

Меня заинтересовала тема "sphinx-bootstrap-theme" ... я нашел несколько дистрибутивов на GitHub, но понравившийся мне предлагал установку только под Linux. Я не уверен в себе, потому хочу учится на "правильных примерах". Потому здесь установил Sphinx и тему ... и распечатал структуру папок и conf.py для Spinx "/usr/local/lib/python2.7/dist-packages/sphinx/config.py"... а потом записал весь процесс успешной установки в Debian

среда, 25 июня 2014 г.

Тормозит не только сеть, но и браузер... Поэтому читаю "Высокая производительность Google Chrome"

Давно пора ругаться с интернет-провайдйером. Но и locslhost начал тормозить. В строке сообщений браузера выскочило "ожидание доступного сокета"... Решил, что настал благоприятный момент для сбора компромата на Chrome... Он и Comodo перелопачивают гигабайты данных на винчестере. Не иначе... шпионят...
Перед статьей собрано с десяток ссылок, в часности, рекомендуют отключить проверку на вирусы..., node.js сделана на движке js chrome... много полезных ссылок... А в статье подробно описывается процессы (пред)загрузки html-страницы... главный вывод - надо изучать node.js

вторник, 24 июня 2014 г.

При попытке запустить "sphinx python quickstart.py" выскочила ошибка AttributeError: 'module' object has no attribute 'getlocale'

Здесь я решил опубликовать назидательный пример моей глупости. В процессе установки темы для движка "Сфинкс" я тупо перепутал запускаемый файл и "вляпался" в "неразрешимую" ошибу. В подобные ситуации попадал и раньше, но в последнее время стал про них забывать... А надо помнить!

воскресенье, 22 июня 2014 г.

Распечатка Sphinx quickstart.py оказалась достаточно длинной

Оказалось, что здесь содержится почти вся информация (словно коды парсятся отсюда ?) обо всех файлах проекта, включая конфигурационный. Есть еще разделы файла с комментариями: General configuration, Options for HTML output, Options for LaTex output...

Начинаем изучать Sphinx HTML theming support

Этот пост - классический конспект. Я читал страницу документации "HTML theming support" и разбирался с тем, где находятся "встроенные темы", каковы структура папок для тем... Потом я решил поискать варианты готовых тем, сначла, просто примеры, а потом и пакеты, нашел sphinx-bootstrap theme...

суббота, 21 июня 2014 г.

Первый сайт на Sphinx (sphinx-quickstart, make html, make clear)

Возвращение к изучению Sphinx потребовало повторного чтения тех же самых страниц документации. Потом я попрактиковался и создал сайт "aksiomatic" (file:///C:/Users/kiss/Documents/sphinx/aksiomatic/build/html/genindex.html). Здесь я записал основные команды и шаги... и распечатал основные файлы Make.bat, index.rst, conf.py .

среда, 18 июня 2014 г.

Прочитал статью "How To Make Your Own Proxy Using Google App Engine"

Здесь помимо прокси-сервера есть хороший пошаговый практикум по Google App Engine. Почти решил обзавестись собственным прокси, но нашел proxypython7 чужой уже работающий сервис. Здесь же "Web Server Gateway Interface" - статья из Википедии с изрядным списком ссылок "Веб-фреймворки и серверы приложений"

ProxyFire и косноязычный юноша с pshacks-crew.com

Косноязычный юноша не только снял плохое видео о том, как собирать прокси-листы "Как ставить на брут, соберать прокси.", но и выложил софт. Я не смог пройти мимо...
Понравилась возможность собирать огромные прокси-листы (несколько тысяч прокси) и тут же их проверять. Более того, я недавно поставил, но не попробовал толком "ProxyFire" - делает все то же, что и в ролике... Да там еще обновления автоматизировать можно... Подробности в видео "Обзор ProxyFire"

Осваиваем Google Application Engine - Hello, World

Ну вот и дошли руки до Google Application Engine. Здесь мы выполняем инструкции по установке SDK Python и начинаем знакомится с содержимым папки google_appengine и кликаем по ярлыкам ...Launcher, и запускаем первое приложение.

Список ссылок на все случаи работы с PROXY

Три десятка ссылок Scrapy+Tor, Privoxy, Polipo, Netsh Commands for Windows, Удалённый MAC-адрес по IP и наоборот и размышления о моей системе работы с прокси... Публикую этот пост после сбора ссылок в текстовый файл (при серфинге в Kali)

суббота, 14 июня 2014 г.

О модели OSI и стеке протоколов TCP/IP... Все ссылки на rfc собраны здесь

В 2002г. я купил книгу "Технологии защиты информации....". Пришлось перечитать... Семиуровневая модель OSI - это красиво. Она легка и понятна, если поиграть с WireShark. Но задачка о http-заголовках к прокси-серверу будет решена позже. Зато здесь картинки к TCP, IP... и видео про WireShark

Видео о Privoxy -> Стандарты HTTP/1.1 -> Proxy_server forensicswiki -> Apache Module mod_proxy

В конфиг Privoxy можно навтыкать HTTP-заголовков. Это окрытие сподвигло меня на розыски стандарта HTTP/1.1 rfc2616. Оказалось, что там нет вызовов к прокси-серверу... да и заголовки "Proxy-Connection" применяются нестандартные... Масла в огонь подлил Fiddler... Здесь ссылки на уйму стандартов, но окончательный ответ так и не найден
В документации к Hypertext Transfer Protocol -- HTTP/1.1 rfc2616 есть немного о прокси-серверах в разделе 14.10 Connection

вторник, 3 июня 2014 г.

Готовимся к проверке кода для ротирования списка словарей "Python Requests And Proxies"

Объект Requests (см. Python Requests And Proxies) позволяет создать словарь прокси-серверов по типам(http,https,ftp), если в запросе requests.get(url, proxies=proxy) указать ссылку на словарь (proxy), то, в зависимости от типа url запроса подключится тот или иной прокси. А если сформировать список словарей, то его можно ротировать и подключать разные прокси. Здесь есть соответсвующие примеры кода, ссылки на сервисы hidemyass, whatismyproxy. Все готово к проверке кода.

вторник, 27 мая 2014 г.

Пример подключения proxy с urllib.urlopen выдал ошибку 403, пришлось задавать HTTP-заголовки с urllib2

Решил пробовать здесь код из видеоролика с urllib.urlopen('http://www.whatismyip.com/',proxies=proxy2) но получил в ответ ошибку 403, посмотрел еще 3 видео про urllib, пришел к выводу, что лучше использовать urlib2 - скопировал пример кода и загрузил страницу (но без прокси). В следующем посте продолжу экспериментировать с urllib2.headers.headers ... proxy и посмотрю видео

Ссылки на видео и код "[Python] Simple network Sniffer"

Понравилось все 6 роликов (но разрешение плохое)Python Simple network Sniffer. Здесь на всякий случай копирую исходный код, чтобы разобрать пример позже.
У этого же автора есть еще ролики Downloading and Parsing possibilities of Python. As an example website was taken http://xkcd.com/

суббота, 24 мая 2014 г.

Планируем дальнейшие действия (Сегодня 24 мая 2014)

Здесь собраны очень хорошие ссылки на urllib (штук 5), 77 videos Python Tutorials, scrapy CSVFeedSpider ... По сути, темы разные, и я решил порассуждать о планах дальнейшей работы.
Пора начинать планировать! Уровень моих знаний уже достиг высот студента-троечника, обучающегося программированию. Знаю я по-прежнему очень мало, но о многом слышал... и даже кое-что запомнил. А значит, можно попробовать расставить приоритеты.

Проблемы, которые на самом деле называютcя "Infrastructure supporting"

Моя борьба за обновление дистрибутива. Nbconvert -> PanDoc -> pip -> Ipython -> Tornado... Копипаст из консоли. Так как же следить за обновленияями?
Казалось бы, вопрос о том, как "ухаживать" за своей сборкой Linux я давно решил. Берешь чужую сборку типа "ScyLinux" или "Kali" вместо "Centos" или "Debian".

пятница, 23 мая 2014 г.

RetryChangeProxyMiddleware... Можно переключать IP в Tor с помощью Python telnetlib

Здесь небольшой фрагмент кода для смены IP на основании данных ответа в Telnet. Автор вопроса использовал платный Proxy Mesh. Ему подали идею создавать новые запросы через Tor с помощью "переговоров" с Telnet... Идея понравилась, надо пробовать...
Идея о таком переключении "instance" в Tor понравилась, но была не очень понятна. Некоторое прояснение наступило после того, как прочитал в документации Scrapy о telnet console...

четверг, 22 мая 2014 г.

Продолжаю изучать randomproxy (но решаю, что начинать надо с простых примеров из документации Scrapy)

Попытки выполнить код по частям привели к выводу о том, что сначала надо бы прочитать всю документацию Scrapy. Там много работающих примеров. Я еще плохо знаю Python, поэтому надо разбирать работающий код с хорошей документацией, а не ломать голову над упражнениями неизвестных авторов.

среда, 21 мая 2014 г.

Штатные серверы Python и немного о python-proxy-rotator

Здесь я начал было изучать файлы Python Proxy Rotator, потом нашел ссылки на документацию Python. При беглом знакомстве с объектами BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, SocketServer... завяз, но нашел видео "Create a simple custom HTTPServer with Python" и решил, что все это надо записать для будущего изучения.

Здесь распечатаны файлы к RandomProxy с пауком dmoz

Решил, что далее изучать Scrapy нужно с RandomProxy (найти ошибки, о которых я написал месяц назад), решил в этом посте все распечатать. А в следующем уже экспериментировать...

вторник, 20 мая 2014 г.

Первый удачный запуск связки proxychains+Tor

Как все это запустить? Проще не бывает, если конечно запускать из консоли, а не из notebook. Был у меня провереный паук Dmoz. Скопировал его (со всеми остальными скриптами в Kali). И запустил из папки "spiders" командой "proxychains scrapy crawl dmoz". Правда, сначала пришлось запустить Tor из папки с демонами "/etc/init.d/tor start".
Здесь же собраны ссылки на файлы с настройками Tor, Polipo (альтернатива?) и документацию к Telnet

Возвращаемся к изуению Scrapy. Начинаем с shell

Здесь 10-минутный ролик и ссылка на документацию. Лучше читать документацию. Все изложено кратко и понятно.

четверг, 15 мая 2014 г.

Обновление Kali и вопросы доустановки программ

Вторая установка дистрибутива на 16Г флешку прошла успешно. Поскольку делать это приходится нечасто, то время сэкономят инструкции, например такие, как найти программу для скринкаста. Если посчитать все время, которое я потратил на поиск таких программ...
Этот черновик я публикую на месяц позже. Сегодня я отказался от идеи - работать только с флешки. Оказалось, что установить Kali (Debian) как вторую OS очень просто. А тогда я еще не столкнулся с "тормозами" и надеялся на технологию "persistence"

среда, 14 мая 2014 г.

Как я вспомнил об about:about и попробовал оценить распределение памяти Firefox

Здесь две темы. Первая возникла, когда я задумался над тем, как устроен кэш браузера. После того, как понаблюдал за непомерным трафиком Chrome. Чего он там читает и пишет? Здесь распечатка "information about the Cache Service"
А вторая тема - это список опций браузера about:about

четверг, 8 мая 2014 г.

Коммментарии к видео "Telnet client and server demonstration in Windows Vista and XP"

Решил освоить Telnet под Windows. Обнаружил помимо клиента еще и сервер. В 9-минутном видео показаны процессы установки и активации службы Server. Мониторинг подключения клиента к серверу (два компьютера в локальной сети с помощью Wireshark.

среда, 7 мая 2014 г.

Комментарии к cmd net и видео "Basics of ipconfig, ping, tracert, nslookup, and netstat "

В первом видеоролике "How to configure networking for Windows XP and Vista" показано, как найти настройки IP адресов для компьютеров XP, Vista, 7... Материал известный, потому я добавил второе вдиео, так что здесь справки по всем этим "сетевым" cmd-командам.

Справочное руководство Nmap Man Page (есть ссылки на русский перевод)

Сканировать хосты и порты - все подряд. Дело трудоемкое, но выполнимое, если использовать Nmap. Я увидел действие этой утилиты в ролике про Proxychains... и решил разместить здесь ссылки и краткую справку.

вторник, 6 мая 2014 г.

Как запустить Proxychains and Tor и посмотреть на это в Telnet и w3m

Видео "Kail Linux : T0r And Proxychains" я понял не сразу, а после того, как проосмотрел похожие... Proxychains может обойтись двумя ссылками на socks4 spcks5 TOR. Здесь только два ролика, а еще небольшие фрагманты справки по Telnet и w3m. В первом ролике показано, как Nmap сканирует порты..., впечатляет.

воскресенье, 4 мая 2014 г.

Видео про sockets Python c WireShark и Scapy

Запсиси при просмотре 60-минутного видео. Месяц назад мне понравилось видео для хакеров про сокеты. Этот пост - продолжение поста, в который я загрузил код сервера и клиента. Я вернулся к этому практикуму после того, как прочитал про объект "Socket"...
В конце ролика отличные примеры работы со Scapy.

Today I`m learning "Socket Programming HOWTO" and improve my English

I have read Socket programming Python Docs... There are two objects in Python 2.7 I insert to this post helpl(socket) and Soxypy readme.txt
There are 7 links here ...and huge help(socket) file... and SocksiPy link and readme.txt ... And the question "Who use the SocketServer object" is still a charade for me...

четверг, 1 мая 2014 г.

Sphinx - три отличные ссылки и два посредственных видео

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

По мотивам ролика "Python tutorial: How to use Pydoc"

Берет комментарии из кода и "pydoc - Generate Python documentation in HTML or text for interactive use". Можно распечатать документацию из командной строки, а можно из консоли. Об этом видеоролик. Я и распечатал здесь help(pydoc)

Конспект: "Создаём своё первое приложение с Django, часть 1"

Выполняем команды мануала вслед за аторами. Отвлекаемся на %PYTHONPATH% (sys.path). Создаем первый сайт. Запускаем серврер... Но останавливаемся после создании базы данных для суперпользователя с паролем ... здесь есть напоминалки...
Зачем мне эти таблицы БД, если я еще не решил, чего хочу... Прежде, чем грызть Django, потратим пару дней на Pydoc и Sphinx (следующие посты)

вторник, 29 апреля 2014 г.

Распечатаем справку и переменные среды из sys.path и Windows 8 (PATH, SET, SYSTEMINFO)

Процедура формирования переменных окружения Python - это песня акына на английском языке (os.py). Сначала я нашел (и скопировал сюда) все способы работы с переменными окружения Windows, а потом прочитал про то, что вытворяет Python, но начинать читаь лучше с "how sys.path is populated on Windows"... А примеры решений в ссылке "How to add to the pythonpath in windows 7?"

Мои попытки разобрать стек вызовов гибрида scrapy crawl dmoz (dmoz + randomproxy) вылились в упражнение с дебаггером

Здесь мы вставляем в разные модули "import pdb; pdb.set_trace()" и учимся разбирать чужой код. Конечно, хорошо бы проникнуть в замыслы автора, или, хотя бы, понять структуру папок... Но пока легко удается при помощи "where" только находить и просматривать модули стека. Но, чтобы понять принципы работы программы, логику...
Поскольку замыслами все довольно сложно, потому надо бы изучить правила для папок Django (которые многие используют)... может быть это поможет?

Скрипт для импорта RSSS c delicious.com и первые неудачные попытки вызывать его из модуля

Здесь я дублирую скрипт (patterns), который написал ранее. Почему эти десять десять строчек кода нужно каждый раз копировать и вставлять в ячейку? Проще запускать их из собственного модуля. Здесь я распечатываю манул по команде %run?, но последующая попытка запустить модуль оканчивается ошибкой. Спустя три дня (изучив PYTHONPATH) возвращаюсь к этой работе и пробую прописать переменные окружения... Но сначала надо прочитать %run? Некогда. Пост не дописан..., но публикую.

четверг, 24 апреля 2014 г.

Код из RandomProxy выдает ошибку с пауком dmoz

В предыдущем посте я опубликовал сообщения из консоли при успешном запуске dmoz. Здесь мы добавим к этому работающему коду вставки от randomproxy (scrapy middleware), получим ошибки парсинга строк в модуле... и решим не реанимировать модуль, а посмотреть другие.

Запускаем пример паука Scrapy dmoz из "Crawling Scrapy Tutorial" все работает

Сюда я скопировал текст из консоли после выполнения команды "scrapy crawl dmoz". Дабы был пример, что видно в консоли в случае успешной работы. Сам паук находится у меня в компьютере W8 (C:). Далее начну с ним экспериментировать...

вторник, 22 апреля 2014 г.

К статье "Python Packages and Environments with conda"

Второй раз сталкиваюсь с "A Virtual Environment", что это такое и зачем оно ? How to use Python virtualenv?
"...put simply, is an isolated working copy of Python which allows you to work on a specific project without worry of affecting other projects"
Оказывается, что для сборки Anaconda нужно использовать специальные команды утвновщика Conda

Пробую использовать "patterns" для импорта RSS в мои конспекты

Здесь пробуем, как patterns парсит delicious. Вариант скрипта работает, но "на коленке". Пока надо осмыслить, что можно (и нужно ли) делать с разовой загрузкой RSS в пост.
По крайней мере, теперь можно собирать ссылки с разных компьютеров, а потом вставлять подборки ссылок в посты.

понедельник, 21 апреля 2014 г.

Два файла "Random proxy middleware for Scrapy "

В проекте Scrapy структура папок стандартизирована. В нее можно добавить всего два файла для ротации текстового прокси-листа с сайта hidemyass.com Внизу ссылки и копипаст кода с GitHub
Ранее я опробовал комбайн Pyproxy (управление из командной строки, сбор адресов с десятков сайтов со списками формата IP:Port), а здесь более простой вариант.

Заметки при чтении главы "Modules" документации Python

Модули в Python - это файлы. Из модулей можно импортировать классы. Импорт сначала осуществляется из текущего модуля, а потом из подпапок. Если ничего не найдено, то из путей sys.path

Изучаем документацию к Scrapy, структуру папок и файлов на примере сакраментального паука 'dmoz' (dirboot)

Вчера я спозаранку решил просто "дочитать" документацию к Scrapy. Здесь хочу остановиться на двух "открытиях", которые помогли мне почувствовать, что я что-то понимаю. Первое - архитектура Scrapy engine, второе - структура папок проектов. Все файлы из папок собраны здесь.

Пробуем PyProxy - комбайн 2010 года для сбора и проверки адресов

Простой модуль Python. Надеюсь, что он работает. В любом случае, начинать надо с простых примеров. Скачать можно PyProxy здесь. ...pyproxy is a Proxy hunter and Tester a high-level cross-protocol proxy-hunter python library.

пятница, 18 апреля 2014 г.

GTunnel is the latest of our FREEWARE client software offerings. Download GTunnel?

Я полагал, что должны быть сервисы - налоги Tor, и вот нашел "Garden Networks For Information Freedom", а нашел по запросу "linux redsocks". Ссылки даны ниже.
Одна маленькая ложка дегтя: в новостях на главной странице описаны пробемы сервиса (ограничения скорости, только китайские IP... в 2011г. последняя новость...).

Первая попытка установить Portia оказалась неудачной. Пришлось отложить...

Не хочется тратить слишком много времени на задачи, которые пока плохо понятны. Заинтересовал пакет Portia ....использует Scrapy, Scrapely, Twisted... Все это надо изучать, потому попытался установить пакет, но не смог "сходу" разобраться с virtualenv... Ну и ладно, чтобы любопытство не стало пороком.... Отложил задачу до лучших времен. Может быть у них документация поприличней появится... или установщик нормальный напишут.

среда, 16 апреля 2014 г.

Первые впечатления до и после дебаггинга "python -m pdb pyproxy.py -l"

Недавно (9 апреля) я опубликовал пост "Пробуем PyProxy - комбайн 2010 года ...". Там скрипт, который помещается на одной страничке. Теперь пора попрактиковать мои знания PDB на этом скрипте.
Я попробовал было запустится из интерпретатора IPython, но понял, что проще запустить дебаггер из консоли "python -m pdb pyproxy.py -l"
Программа была написана именно для запуски из командной строки. В процессе дебаггинга все работало отлично. Удалось и скрипт запустить. В основе работы скрипта лежит идея использования регулярных выражений для идентификации строчек ' IP:Prt ' Далее то, что еще удалось узнать о скрипте...

понедельник, 14 апреля 2014 г.

Еще одно видео на 2,5 часа "Web scraping: Reliably and efficiently pull data from pages that ..."

Я ознакомился с Scrapy, Grub..., множеством краулеров и спайдеров..., теперь нужно будет что-то выбрать и начать практиковаться. Но прежде я решил посмотреть еще и вот этот ролик, уж очень он популярный.
Здесь обсуждаются библиотеки lxml, requests, mechanize, BeautifulSoup
Надеюсь найти здесь что-то новое для себя... Кроме того, на GitHub выложен код... меня заинтересовало, в частности в python-scraping-code-samples / javascript /

воскресенье, 13 апреля 2014 г.

Соглашение о стиле оформления кода PEP 8: Python Enhancement Proposals

«A foolish consistency is the hobgoblin of little minds, adored by little statesman and philosophers and divines.  With consistency a great soul has simply nothing to do» — цитата Ральфа Валдо Эмерсона, известного американского писателя.
Соглашение об оформлении кода... пока прочитал до половины. Скачал. Но его надо периодически освежать в памяти. Потому здесь дам основные ссылки и на статью на Хабре, где есть несколько ссылок на перевод.

После прочтения "db – Interactive Debugger" я прочитал про ipdb на Хабре

Так получилось что я подхватил жестокий грипп..., но без температуры. При общем снижении мыслительных способностей и постоянном желании жить лежа получилось так, что я два раза перечитал статью pdb – Interactive Debugger

Практикум 1 по статье "pdb – Interactive Debugger"

Есть такие материалы, которые просто тупо надо выучить. Статья pdb – Interactive Debugger - это практикум для освоения дебаггера Python PDB. Здесь я начинаю повторять примеры из статьи..., но полагаю, что надо разбить практикум на несколько частей.
Да, чуть не забыл, я еще посмотрел видео, откуда, собственно, и взял ссылку на эту статью.

Как использовать справку IPython

К середине четвертого месяца занятий у меня появилась потребности в том, чтобы систематизировать мои знания Python. Наверное, поэтому мне стало интересно искать в портянках справочников подробности тех или иных опций.
Потому здесь ссылки на страницы документации и распечатки "IPython help", "ipython help notebook", распечаток пары файлов README из недр C:.ipython

Курс в Корнельском университете "Networks, Crowds, and Markets: Reasoning about a Highly Connected World

Курс D. Easley and J. Kleinberg. Networks, Crowds, and Markets: Reasoning about a Highly Connected World. Cambridge University Press, 2010. Draft version: June 10, 2010.
можно читать онлайн Contents (with links to individual chapters),
можно скачать целиком pdf

Getting Started With Burp Suite

Здесь мы устанавливаем BURP, потом перехватываем и подменяем заголовки HTTP при заполнении формы ... как в видеоролике на 6 минут. В конце видео с сайта разработчиков. А в середине продвинутое видео на 42 минуты. "...how Burp helps you bypass site XSS and SQL injection checking, directory traversal, client side login checks, and find non-random sessions keys. ...upload a backdoor to the NAS and gain root" Есть еще ссылка на "Getting Started With Burp Suite"

Achieving Anonymity with Tor Part 5:Tor Bridges and Hidden Services ... Комментарии к статье

Когда в стране заблокирован сам сервис Tor, то можно использовать "Tor Bridges", которые ведут к компьютерам волонтеров "Tor relays". Пока мне это все ни к чему, но сама идея может быть использована...

Achieving Anonymity with Tor Part 4:Tor Relays ... Комментарии к статье

В этой статье речь идет о создании "Tor relay" - установке на домашний компьютер специального софта, позволяющего другим пользователям сети использовать ваш IP для своих благородных целей. Здесь простой копипаст. Свои мысли (если появятся) буду писать в комментариях.

Achieving Anonymity with Tor Part 3: Torbutton and Tsocks... Комментарии к статье

Здесь рассматривается Torbutton и установка Tsocks. Последняя библиотека позволяет подключать к Tor любые приложения. Так что, эту статью обязательно надо изучить без спешки.

Achieving Anonymity with Tor Part 2: Proxies and DNS servers Комментарии к статье

Это вторая часть курса (всего пять). Здесь есть красивая картинка несколько вариантов связки двух proxy, второй из которых всегда Tor. В качестве альтернативных прокси рассматриваются BURP, Polipo, Privoxy

Achieving Anonymity with Tor Part 1: ... Комментарии к статье

В первой части статьи автор показывает, как установить и настроить Top вручную, а потом демонстрирует и обычную установку, когда скрипт устанавливает Tor, privoxy, Vidalia...
Потом идет введение в концепцию безопасности Tor, все шифруется...

Промежуточные итоги (и ссылки) по теме PROXY

Количество найденных статей превосходит уровень моих знаний. Навязчивая ...идея-фикс: найти сервер, который бы ротировал free proxy при выполнении задач big data, а не scraping`a ... Я уже нашел уйму вариантов с TOR, параллельно нашел десятки прокси-серверов..., зачем их вообще столько напридумывали?
И раз их так много, то должны быть и те, которые мне нужны. И чем меня не устраивают серверы на Python?

среда, 9 апреля 2014 г.

Зачем я установил gtConsole в сборку Kali

Итак, я осваиваю iPython... и последних три месяца упражнялся с Notebook. Когда изучаешь конкретные команды, небольшие фрагменты..., то формат этот очень удобен. Но вот, наконец, дошло дело и до изучения чужих программ.
Что они там напрограммировали? Без нормальной документации (очень часто), с ошибками... Но свой код писать дольше, мне надщо практиковаться на чужих примерах.
И для начала... надо осовить дебаггер. А Notebook бросать не хочется, тем более, что есть %gtconsole (волшебная команда подключение консоли к пространству имен, созданному в текущей notebook)

Постановка задачи и немного ссылок на сервисы Python Proxy Checkers

Профессиональный web-scrapping невозможен без решения проблемы бана (Например, когда количества запросов к серверу-мишени с одного IP-адреса превышает некий предел...). Очевидно, что сайты рассчитаны на работу с людьми, а шустрые боты только замедляют работу... Очевидно, что этот вопрос надо бы еще продумать. Посмотреть httpd.config и погуглить по "подозрительным настройкам"... "Начальство надо знать в лицо..."
Здесь мы рассмотрим проблему с другой стороны. А именно, рассмотрим оборудование для обмана сервера-мишени.

Ссылки, собраные в процессе работы по теме "Проксифаеры"

Проксифаекры - термин из Tor, но здесь не только ссылки на Tor, но и мои искания других вариантов для анонимизации... например "Anonymous Web Scraping"
Tsocks - в статье приведены примеры работы с проксифаерами tsocks и proxychains

Пробуем PyProxy - комбайн 2010 года для сбора и проверки адресов

Простой модуль Python. Надеюсь, что он работает. В любом случае, начинать надо с простых примеров. Скачать можно PyProxy здесь. ...pyproxy is a Proxy hunter and Tester a high-level cross-protocol proxy-hunter python library.

вторник, 8 апреля 2014 г.

Наконец Kali стал притормаживать, первой попалась статья про файл подкачки... но здесь команды bash.

Первой попалась статья "Файл подкачки: swap-файл и swap-раздел в Linux"... Не уверен, что создание файла подкачки улучшит ситуацию (поскольку гружусь с флешки), но решать проблему надо. Потому здесь пробуем команды bash для мониторинга параметров системы.
В этом посте я хотел обозначить проблему и сохранить ссылки для дальнейшей работы. Однако, начинать пришлось с изучения команд сетевого управления консоли. Задача эта инфраструктурная. И я не знаю, как её решать... Если исходить из основного "японского" (p2m) принципа ПРИОРИТЕТА ДОЛГОСРОЧНЫХ ЦЕЛЕЙ НАД КРАТКОСРОЧНЫМИ, то надо сначала усвоить методы диагностики сети из командной строки.
Статья "Файл подкачки: ..." понравилась, многое оттуда надо попробовать, потому пока ссылку оставим здесь

понедельник, 7 апреля 2014 г.

При первом запуске vidalia Tor выдает предупреждения

Update март 2015: Уже более года Vidalia можно не устанавливать. Инсталлировать Tor-Browser стало проще. Новые инструкции и ссылки в комментариях к посту. Далее текст првоначального поста. Depricated: Здесь мы решаем проблемы с утановкой vidalia и TorBrowser на Debian. О настройке vidalia есть мануал c картинками на сайте
После установки в Debian не сразу нашел луковицу(иконнку программы) в трее наверху, но обнаружил "vidalia" в разделе меню "Intenet". При открытии программа выдала предупреждение и попросила прочитаь лог:

Обновление Kali и вопросы доустановки программ

Вторая установка дистрибутива прошла успешно. Поскольку делать это приходится нечасто, то время сэкономят инструкции, например такие, как найти программу для скринкаста. Если посчитать все время, которое я потратил на поиск таких программ...

Репозитории Kali - какие подключать и как?

Вчера посмотрел обзор программ для скринкастинга. Оказалось, что понравившейся мне программы нет в репозитории. Я уже подключил один дополнительный репозиторий (Tor) для этого дистрибутива..., и новые подключать как-то не хотелось... И вот в документации Kali нашел статью с рекомендациями, ...но добавим к ним команды подключения репозитория (Tor) из поста Обновление Kali и вопросы доустановки программ.

среда, 2 апреля 2014 г.

Как работать с Polipo ... или кэширующий прокси (one thread) для единоличника.

С одной стороны, мой пытливый ум, пытаясь упорядочить информацию обо всех этих сокетах и списках прокси пытается вербализировать плохопонимаемое: "... вращать списки прокси-анонимайзеров посредством собственного локального сервера".
С другой стороны, я нахожу, наконец, описание настройки связки "Scrapy-Polipo-Tor"... и решаю, что мозгу, таки, нужна четкая модель этих процессов.

Как надо было изучать Scrapy (первые итоги и ссылки)

Сначала надо было прочитать статью Scraping Web Pages With Scrapy и посмотреть ролик (из этой же статьи).

Статья "Web Scraping" с примерами

Я скопипастил этот пост, поскольку здесь разбираются примеры с библиотеками: pattern, lxml, requests, Scrapy, Beautiful Soup... вот только не помню, откуда...

Изучаем материал из статьи "Использование HTTP proxy и SOCKS в Linux"

Просто скопировал статью с Хабра поскольку эти команды надо бы выучить, здесь готовые куски кода..., а я поставил curl на Windows... щааас попробуем... а еще в обсуждении на Хабре есть полезные мысли...
В Linux существует много полезных консольных команд, которые при необходимости хотелось бы запустить через proxy. Некоторые приложения имеют встроенную поддержку proxy, а некоторые нет. Далее описано как пользоваться востребованными утилитами через proxy, даже теми, которые этой поддержки не имеют.

вторник, 1 апреля 2014 г.

Еще одно видео на 2,5 часа "Web scraping: Reliably and efficiently pull data from pages that ..."

Я ознакомился с Scrapy, Grub..., множеством краулеров и спайдеров..., теперь нужно будет что-то выбрать и начать практиковаться. Но прежде я решил посмотреть еще и вот этот ролик, уж очень он популярный.
Здесь обсуждаются библиотеки lxml, requests, mechanize, BeautifulSoup

воскресенье, 30 марта 2014 г.

Из базовой статьи "Scraping One Million Points A Day, Here's How (TUTORIAL)" - перечисление всех инструментов.

Статью Scraping One Million Points A Day, Here's How (TUTORIAL) я посчитал настолько важной, что решил закопипастить ее по частям и добавить свои комментарии.
Но после прочтения решил, что здесь будет только первая часть со всеми ссылками на сервисы и софт.

Размышления (и ссылки) о неизбежности прокси-сервера, Proxyfire , scrapy, grab

Вчера был именно тот день, когда я сказал себе: "Еслия я хочу регулярно "граббить" сайты, то буду заваливать их запросами... Они меня легко "вычислят" и забанят. Причем, вычислят не просто "легко", а "показательно легко" ... Кардинальное решение проблемы - анонимайзер ...??? И я решил разобраться, как это делают другие?

понедельник, 24 марта 2014 г.

Витание в облаках... установка и первые шаги с GitHub ... а как работать с нескольких компьютеров с разными OS?

Это второй пост, который я пишу с компьютера с ОS Debian... Именно этот дистрибутив я запустил вчера с USB Stick и проверил в режиме persistence. Именно IPython я поставил с помощью apt get ... и был счастлив, когда после перезагрузки "ipython notebook" нашелся и запустился (об этом предыдущий пост). Во второй части поста я создал свой репозитоий на GitHub, потом попробовал его синхронизировать с локальным Debian..., сразу не получлось, пришлось смотреть видео... Потом я еще три дня читал книгу Последняя версия перевода книги за 24.03.2013 доступна в форматах pdf, epub и mobi.

Как я бросил все и стал читать книжки PRO GIT... и придумал три классификатора.

Этот пост начинается с рассуждений о важности инфраструктуры... системе принятия решений..., потом я планировал здесь разобрать пример работы переводчиков book progit, однако решил написать о процессах самообучения на примере progit.
Получилось несколько простых классификаций (работа с открытыми проектами, стадии изучения, стадии завершенности проекта обучения), которые надеюсь использовать

понедельник, 17 марта 2014 г.

Удачный видеоролик "Kali Live USB with Persistence (Non Amnesic)

Здесь, устанавливая и настраивая Kali Live USB вслед за автором видео, я продвинулся в понимании "persistence" Видео настолько хорошо закоментировано, что я просто скопировал в текст со ссылками.
В итоге я "таки это сделал"... Скачал Win32 Disk Imager, загрузил Kali, записал на флешку... При помощи gparted создал на usb ext4 раздел и смонтировал его... и стало все "persistence". Здесь только HowTo, продолжение следует...

Статья "Web Scraping" - заготовка для изучения библиотеки Patterns и ... lxml, requests, Scrapy, Beautiful Soup

Случайно нашел библиотеку Patterns... Пришел в щенячий восторг, скопировал в локальный GitHub, там примеров (сотни ?). Если учесть материалы на сайте разработчика CLIPS The module is free, well-document and bundled with 50+ examples and 350+ unit tests. Но в ближайшее время надо осваивать другие темы, потому здесь тупо копирую статью, которую надо будет разобрать тщательнейшим образом.

TOR With Python Tutorial #1 (С модулями socks socket ...по мотивам видеоролика и нового репозитория Pysocks на GitHub)

Этот пост можно понять только, если освоил сокеты. У меня это процесс как раз проходит (см. пост с видео про сокеты ), потому здесь дадим основные ссылки для самообучения. Сначала то, что я просмотрел (в порядке просмотра), потом неудачная попытка выполнить код из ролика.

четверг, 6 марта 2014 г.

A few things that work best/only at the IPython terminal or Qt console clients (10) "... SciPy2013 Tutorial, Part 3 of 3"

На 15 минуте 40 секунде решили поговорить о консольных командах. В перовом примере был записан на диск файл "%%file script.py", а потом выполнен "%run script" ... Во втором примере был также записан файл с делением на ноль и импортом модуля, при остановке "where the notebook still lags the terminal and qt consoles" ... В видео показывается, что qt console подключена к пространству имен ядра и может его изменять.... Справка по %run ... Пример с %debug (только в видео на 22 минуте) Потом "The %gui magic enables the integration of GUI event loops with the interactive execution loop" ... %connect_info %logstart %notebook

Customizing IPython - Extensions (9) "... SciPy2013 Tutorial, Part 3 of 3"

Это практикум по раширениям (extensions) IPython - модулям со специальными функциями. Видео для этой темы нет..., только файл. Его я просто скопировал (на будущее). Здесь есть %load_ext module, %%cython ...let's create an extension...

Customizing IPython - Magics (8) "IPython in Depth, SciPy2013 Tutorial, Part 3 of 3"

Customizing IPython - Magics (8) "IPython in Depth, SciPy2013 Tutorial, Part 3 of 3"

На 90-й минуте (третьего) видеоролика речь зашла о настройке пользовательских %magic. Начинвется пост с примера "%timeit A=numpy.random.random((1000,1000))", потом определяются "Define %tic and %toc magics, which can be use for simple timings"... Затем "load a notebook into memory using IPython.nbformat."... После этого можно было оперировать объектом notebook, как dictionary.... Потом "Now I can run all of the code cells with get_ipython().run_cell"... И наконец "write and register an %nbrun line magic to run a notebook"

среда, 5 марта 2014 г.

Configuring IPython (7) "IPython in Depth, SciPy2013 Tutorial, Part 3 of 3"

Третий (36-минутный)видеоролик начинается с рекомендаций по получению помощи (help), далее излагаются принципы работы с конфигурационными файлами, создается дополнительный профиль, разбираются команды консоли и %config magic ...приводится пример с построением синусоиды с Numpy и перенастройкой формата вывода картинки "%config InlineBackend.figure_format = 'svg'". Затем рассматривается пример "Start Up files"

Defining Custom Display Logic for Your Own Objects (7) "IPython in Depth, SciPy2013 Tutorial, Part 2 of 3"

На 74 минуте мы дошли до примеров того, как ... "how you can add custom display logic to your own classes". В процессе были написаны примеры классов с использованием repr, Pandas, Sympy, %Matplotlib

вторник, 4 марта 2014 г.

IPython's Rich Display System (6) "IPython in Depth, SciPy2013 Tutorial, Part 2 of 3"

На 60-ой минуте речь зашла о "from IPython.display import display" ... получился длиннющий пост. Разбираем images, video, HTML, Javascript, Pandas, SymPy, Iframe, Latex... Примеров много, скрипты javascript читают и записывают файлы..., строят SVG картинку ... впечатляет импорт аудиоплеера.

Python for Hackers - Networkers Primer (Sockets, Webserver)

В подборке "видео для хакеров". Очень хорошо ребята излагают. Надо не забыть пересмотреть все видеоролики (у них еще есть). Здесь я подготовил файлы с кодом "один в один"... Код не работает. Наверное, надо пробовать "современный" вариант из /docs.python.org ,,, и пробовать в Linux, поскольку в Windows есть какие-то ограничения. В предыдущем посте я пытался освоить API Tor, здесь - сокеты..., но ничего не получается..., дальше будем осваивать Python with Linux
Здесь я нашел примеры кода (вроде бы) для видео внизу. Есть еще второе видео (продолжение). Но лучше использовать примеры с официального сайта docs.python.org

Как настроить показ видео YouTube (объект iFrame ...&start=34)

Как сделать так, чтобы встроеный в блог видеоплеер начинал воспроизведение не с начала, а с определенного момента времени? Задачка решается очень просто. Вот справка от Google YouTube Embedded Players and Player Parameters, которую я использовал. Здесь есть не только параметры, но и javascripts, и видео на 22 минуты.

понедельник, 3 марта 2014 г.

Typesetting Math (5) "IPython in Depth, SciPy2013 Tutorial, Part 2 of 3"

На 59-ой минуте ролика (5) "IPython in Depth, SciPy2013 Tutorial, Part 2 of 3" зашла речь о LaTeX ...Здесь несколько примеров и ссылки MathJax website

Markdown Cells (4) SciPy2013 Tutorial, Part 2 of 3

Третья часть ролика начинается с 46 минуты (3 IPython in Depth, SciPy2013 Tutorial, Part 2 of 3) иллюстрирует язык разметки Markdown. В конце поста рекомендации о том, как обезопасить работу сервера с файлами.

IPython Notebook Basics (3) SciPy2013 Tutorial, Part 2 of 3

Здесь пример использования 'from IPython.nbformat import current' из текущего файла считываются содержание первых пяти ячеек в формате json, как распечатать содержание ячеек по индексу... Это начал о видеоролика IPython in Depth, SciPy2013 Tutorial, Part 2 of 3

Running Code in the IPython Notebook (2) SciPy2013 Tutorial, Part 2 of 3

Здесь (2) продолжение видео "IPython in Depth, SciPy2013 Tutorial, Part 2 of 3" (до 46 минуты). Пример работы с %load, загружаем скрипт с [matplotlib.org] (http://matplotlib.org/examples/api/histogram_path_demo.html) и выполняем его получаем гистограмму в отдельном окне редктора

IPython in Depth, SciPy2013 Tutorial, Part 1 of 3 "IPython: beyond plain Python"

Видео надо смотреть с 25-ой минуты (IPython in Depth, SciPy2013 Tutorial, Part 1 of 3 )... Как получать помощь (? ?? %quickref ...), история , i, _7, %history -n 1-5, files=!ls, !echo

среда, 26 февраля 2014 г.

Где прочитать о том, как работает IPython kernel и сервер Tornado

Когда я захочу изучить тонкости Read-Evaluate-Print Loop (REPL), в частности, как работает сервер Tornado, IPython kernel, как работать с сокетами..., zeromq - Distributed Computing Made Simple я использую ссылки из этого поста...

Справочники по объектам HTML Javascript в IPython Notebook, и немного о %magic и корне сервера.

Здесь мы собрали справки по %%html %%javascript, потом загрузили from IPython.display import Javascript и распечали справку help(Javascript) ... Потом нашли справочники js и вставили их во фреймы, потом нашли корневую папку сервера http://127.0.0.1:8888/ и научились грузить во фреймы локальные файлы... Как и следовало ожидать, магические команды - это вызовы функции javascript(self, line, cell)...

понедельник, 24 февраля 2014 г.

Как получить справку в IPython... о %magic

Здесь мы рассмотрим примеры различных вариантов вызова справки help(), ?, object?, %quickref, (you can use the magic commands) %pdoc, %pdef, %psource and %pfile, а также распечатаем все возможные %magic команды (%lsmagic). А про клавишу 'TAB' не забудем никогда.

среда, 19 февраля 2014 г.

Короткий пост об обновлении Anaconda "Conda update conda"

При обновлении Anaconda возникла проблема (формирования ... стека?) В процессе изысканий я решил сделать лог (см.ниже). А вот прямая ссылка в Google Drive

Introduction to Pandas and Vincent

Этот ролик Махди Юсуфа, в предыдущем посте я "законспектировал" его пример, а этот пост тоже оправдал ожидания. Здесь есть примеры: создания индекса по времени DatetimeIndex, ресемплинга (resampling)временных рядов... и пример импорта курса акций c Yahoo.finance. Вот только визуализация (vincent)не получилась

пятница, 14 февраля 2014 г.

Pandas Data Frames and Kevin Durant 2012-13 Game Log with Mahdi Yusuf

Махди Юсуф записал 20-ти минутный скринкаст с данными, которые мне удалось найти по имени файла Kevin Durant 2012-13 Game Log Он анализирует действия игрока Кевина Дюранта...
Файл csv пришлось предварительно отредактировать, создание новой таблицы, процедура замены строки "40:00" числом (секунд) -2400, группировка... Пост заканчивается диаграммой, построенной с помощью модуля vincent - Vega

четверг, 13 февраля 2014 г.

How can I sort in a DataFrame in Pandas

Импортируем csv -> DataFrame (бейсболисты 1952 строки), строим таблицу .Year.value_counts(), выбираем 2010 год - Create a subset of mlb dataset for Year 2010, сортируем по индексу (его можно задать разными способами), строим диаграмму доходов top-10 игроков в 2010году.
Python for Data Analysis Lightning Tutorials Pandas Cookbook Series

The groupby operation with Pandas

В видеоролике: groupby=split->analize->combine, потом загружаем список бейсболистов (год,имя, доход,амплуа, клуб), группируем его по годам (DataFrameGroupBy), сортируем каждый год по доходам, из каждого года выбираем игрока с максимальным доходом (generator object). Строим диаграмму Доход/год... Проверяем при этом команду импорта %pylab inline(Populating the interactive namespace from numpy and matplotlib)

DataFrame object in Pandas

DataFrame object - это таблица с индексом. Задаем список дат (datetime), при помощи словаря задаем четыре столбца таблицы, вырезаем один столбец (Series)... следующий пример (Titanic): читаем csv-> DataFrame, еще пример "Olympic Medalists"
Python for Data Analysis Lightning Tutorials is a series of tutorials in Data Analysis, Statistics, and Graphics using Python. The Pandas Cookbook series of tutorials provides recipes for common tasks and moves on to more advanced topics in statistics and time series analysis.

среда, 12 февраля 2014 г.

How to Create a Series Object in Pandas... Key take away

Объект Series обладает своиствами списка, массива и словаря. На первый взгляд это именно то, что надо для работы с CSV файлами. Потому здесь изучаем 20-минутный видеоролик.

Видеоролик: как использовать Panadas для работы с CSV файлом

После длиннющих мануалов мне так понравилось начало этого видеоролика, что я скачал похожий файл (baby-names.csv) и решил поупражняться вместе с автором видео. Пока не знаю, подойдет ли файл... имена в Великобритании. Здесь я попробовал (наконец-то) использовать относительный путь при импорте csv файла в объект (frameset)Pandas (см. In[4])