В предыдущем посте оператор ** "i['purlplit'] = i['purl'].split("/")[-1]"** выдает пустую строку. Здесь мы проверили, как работает метод split и распечатали help(str). Хотя оказалось, что строка "хитрая", причина в особенностях работы объекта Item (следующий пост).
В iPython мои (черновики) упражнения с Python, в разделе "Mining" собраны материалы по R, Rapid Miner, Weka, Gate..., в "Projects" фрагменты старых и заготовки для новых исследований... записано для себя, открыто для всех...
вторник, 29 июля 2014 г.
суббота, 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 из них по другой теме "Как анализировать и пробовать заголовки"
Подписаться на:
Сообщения (Atom)