Показаны сообщения с ярлыком RSS. Показать все сообщения
Показаны сообщения с ярлыком RSS. Показать все сообщения

14 мар. 2013 г.

Google Reader must die!!!

Сегодня я узнал, что мой любимый онлайн RSS клиент - Google Reader перестанет работать 1 июля 2013 года. А я так к нему привык... Нужно теперь мигрировать на что-то другое...
Кто какие клиенты посоветует? Только обязательно онлайн. Я давно отвык от десктопных читалок:)

15 мар. 2012 г.

Популярность

Каким-то удивительным образом мой RSS канал оказался на сайте Subscribe.ru.
Интересно, откуда он там взялся.

22 февр. 2010 г.

Трудности кодировок

Вчера вечером, совершенно неожиданно, пришла в голову мысль сделать кросспостинг этого блога в систему ВКонтакте.ру. Поскольку наработки у меня уже были, я решил, что это дело будет весьма легким. Но как я ошибался, кто бы знал.
Проблемы начались с парсинга RSS потока. В Питоне есть гениальная и простая библиотека feedparser. Все советуют ее использовать и по всему интернету разбросаны примеры ее использования. Но, есть один нюанс. Эта библиотека написана для версии питона 2. Я пытался ее сконвертировать для работы с третьей версией и она даже стала запускаться, но заглючила притащеная ей библиотека SGMLParser. Самое противное, что на сайте у этих ребят нигде не написано, что она предназначена исключительно для питона 2. Я был разочарован. В итоге пришлось побыстрому набросать свой собственный парсер на основе библиотеки minidom.
Дальше больше. Теперь у меня был прекрасно распарсеный RSS фид. Осталось самое малое - запостить его ВКонтакт. И вот тут меня ожидал еще один неприятный сюрприз. Фид у меня в кодировке UTF8, а ВКонтакт ожидает данные в формате CP1251 (дикие люди, весь мир уже давно перешел на UTF8). Это простое несовпадение кодировок, стоило мне многих часов упорного труда. В итоге, я лег в 5:30 утра, усталый и злой, так как не смог заставить питон посылать то, что мне надо (вернее в той кодировке, которая нужна).
Встав в 11 утра, я твердо решил добить этот вопрос. Вооружившись снифером и такой-то матерью, я вышел на бой с ненавистными кракозябрами. Теперь я в совершенстве знаю, как в Питоне представляются строки, байты, кодировки и как они посылаются на сайты в любых запросах. К двум часам дня, кодировки были побеждены.
Пришлось опять самому писать перекодирование (escaping) CP1251 символов для POST реквеста, так как стандартный Питоновский модуль нагло продолжал конвертировать мой текст в UTF8. Универсальность не всегда хороша, как оказалось.
Что в итоге: есть скрипт, который берет RSS фид этого блога, определяет появились ли новые статьи, и если появились, постит их ВКонтакт, убирая предварительно весь HTML (кстати стандартного striptags в Питоне тоже нет, пришлось искать сторонний - опять для питона 2 - и конвертить его для тройки).

Выводы:
1. Отпуск до добра не доводит
2. Питон 3 еще долго будет порабощать мир - слишком велик вес питона 2
3. Еще раз убедился, что документация для Питона бедновата
4. Справедливости ради стоит признать, что Питон - очень мощный язык

P.S.: На лекции по Питону в универе у меня прозвучала фраза: Анаконда написана на Питоне. Красиво:)

5 февр. 2010 г.

ВКонтакте

Я не могу общаться на сайте ВКонтакте, так как меня раздражает, что постоянно приходится туда заходить и проверять обновления. Я слишком уж привык к Google Reader и RSS. Мне нравится, что я могу получать только обновления, а не гадать видел я эту новость уже или нет. Именно эта функциональность меня раздражает на сайте ВКонтакте.
Поскольку весной мне предстоит читать лекции на тему языка Python, я подумал, что неплохо было бы его хорошенько изучить. Для этого надо бы реализовать на нем какой-либо проект. А для этого нужна потребность. Проблема ВКонтакте показалась мне неплохой задачей.
Сказано - сделано. Решил я сделать следующее: мой проект должен логиниться на сайт ВКонтакте под моим именем, скачивать все новости, определять, какие из них новые и отсылать мне на почту (в идеале, конечно, надо бы сделать из них RSS фид, но это можно оставить на потом). Итак, задача поставленна. Надо делать.
Долго ставил питон и мучился с поиском IDE. Пробовал работать в NetBeans - не понравилось. Очень тормозная система. Ну просто очень. В итоге остановился на старом добром Notepad++. Завтра попробую Eclipse с Python плагином.
На работе немного поигрался со скачиванием сайта через прокси. Очень долго ничего не работало. Оказалось потому, что в моем пароле к проксе есть символ "@". Парсеры внутренних питоновских библиотек не умеют работать с такими паролями.
В конце концов, логин на сайт ВКонтакте был успешно запрограммирован. Теперь можно приступать с следующей части: парсилке новостей.

В процессе разработки нашел несколько багов сайта ВКонтакте, а также открыл забавную фичу Яндекса. Когда в Яндексе набираешь слово, он выдает подсказки. Оказывается эти подсказки можно получить вот по этому URL (подставьте свой запрос всесто параметра part): http://suggest.yandex.ru/suggest-ya.cgi?ct=text/html&part=tes&v=2

5 янв. 2010 г.

ЖЖ

Когда-то давно завел себе ЖЖ аккаунт - http://alex-arkhipov.livejournal.com, чтобы писать там комментарии к другим дневнекам. Это уже потом я узнал об OpenID, то есть о том, что не обязательно иметь дневник, чтобы комментировать других. Вот так и висел у меня этот дневник сиротливо с одной единственной записью.
И решил я: зачем добру пропадать, сделаю-ка я его зеркалом моего блога на Blogger.
Поскольку лень двигатель прогресса, я решил поискать готовые решения. Итак, задача заключалась в том, что бы взять RSS поток моего блога, распарсить его и отправить в ЖЖ аккунт.
У меня есть свой сайт - http://ark.nnov.ru. Там есть блог, который так же является зеркалом моего блога на Blogger. Зеркалит он при помощи специального плагина к CMS Joomla - Feeds Gator (Кстати плагин работает гениально. Для его работы надо вручную настраивать запуск скрипта через крон. Извращение.) Соответственно, первой моей мыслью было найти еще один компонет для Joomla для кросспостинга в ЖЖ. Каково же было мое удивление, что ничего подобного я не нашел, кроме какого-то платного решения. Я был очень удивлен, но решил не отступать. Дело в том, что у меня есть еще один старый блог про поисковые системы и там работает плагин для WordPress для кросспостинга его контента в ЖЖ. Таким образом, у меня были все компоненты для написания своего собственного скрипта: код для размещения постов в ЖЖ и код для выдирания последних постов с блога через RSS.
Вообщем, потратив 2 часа работы, при помощи клавиатуры и такой-то матери, работа была благополучно выполнена. Теперь мой блог транслируется в ЖЖ. Если вам удобно, читайте меня там...
P.S.: Не стал делать поддержку тегов. Лень. Да и не верю я что, кто-то ими пользуется:)