#!/usr/bin/env python # vim:fileencoding=utf-8 from calibre.web.feeds.news import BasicNewsRecipe class Habr(BasicNewsRecipe): title = '\u0425\u0430\u0431\u0440' __author__ = 'bugmen00t' description = '\u041D\u0430 \u200B\u0425\u0430\u0431\u0440\u0435 \u200B\u0434\u0443\u043C\u0430\u044E\u0449\u0438\u0435 \u200B\u043B\u044E\u0434\u0438 \u200B\u0434\u0435\u043B\u044F\u0442\u0441\u044F \u200B\u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u200B\u200B\u043E\u043F\u044B\u0442\u043E\u043C. \u200B\u200B\u0417\u0434\u0435\u0441\u044C \u0431\u0443\u0434\u0435\u0442 \u200B\u200B\u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E \u200B\u0438\u043D\u0442\u0435\u0440\u0435\u0441\u043D\u043E \u200B\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0441\u0442\u0430\u043C \u200B\u0438 \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u0430\u043C, \u200B\u200B\u0430\u0434\u043C\u0438\u043D\u0430\u043C \u200B\u0438 \u0440\u0435\u043A\u043B\u0430\u043C\u0449\u0438\u043A\u0430\u043C, \u200B\u0430\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430\u043C \u200B\u0438 \u0434\u0438\u0437\u0430\u0439\u043D\u0435\u0440\u0430\u043C, \u200B\u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0430\u043C \u200B\u0432\u044B\u0441\u0448\u0435\u0433\u043E \u200B\u0438 \u0441\u0440\u0435\u0434\u043D\u0435\u0433\u043E \u200B\u0437\u0432\u0435\u043D\u0430, \u200B\u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0430\u043C \u200B\u043A\u0440\u0443\u043F\u043D\u044B\u0445 \u200B\u043A\u043E\u043C\u043F\u0430\u043D\u0438\u0439 \u200B\u0438 \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u200B\u0444\u0438\u0440\u043C, \u200B\u0430 \u0442\u0430\u043A\u0436\u0435 \u200B\u0432\u0441\u0435\u043C \u200B\u0442\u0435\u043C, \u200B\u0434\u043B\u044F \u043A\u043E\u0433\u043E \u200BIT \u2014 \u200B\u044D\u0442\u043E \u043D\u0435 \u043F\u0440\u043E\u0441\u0442\u043E \u200B\u0434\u0432\u0435 \u0431\u0443\u043A\u0432\u044B \u200B\u0430\u043B\u0444\u0430\u0432\u0438\u0442\u0430.' # noqa: E501 publisher = 'Habr Blockchain Publishing LTD' category = 'blog' cover_url = u'https://habr.com/img/habr_ru.png' language = 'ru' no_stylesheets = True remove_javascript = False auto_cleanup = False oldest_article = 7 max_articles_per_feed = 50 remove_tags_before = dict(name='h1') remove_tags_after = dict(name='div', attrs={'class': 'tm-misprint-area'}) remove_tags = [ dict(name='div', attrs={'class': 'tm-article-presenter__meta'}), dict(name='div', attrs={'class': 'tm-article-poll'}) ] feeds = [ ( '\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://habr.com/ru/rss/news/?fl=ru' ), ( '\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B', 'https://habr.com/ru/rss/all/all/?fl=ru' ), ( '\u0420\u0435\u0439\u0442\u0438\u043D\u0433 \u226510', 'https://habr.com/ru/rss/all/top10/?fl=ru' ), ( '\u0420\u0435\u0439\u0442\u0438\u043D\u0433 \u226525', 'https://habr.com/ru/rss/all/top25/?fl=ru' ), ( '\u0420\u0435\u0439\u0442\u0438\u043D\u0433 \u226550', 'https://habr.com/ru/rss/all/top50/?fl=ru' ), ( '\u0420\u0435\u0439\u0442\u0438\u043D\u0433 \u2265100', 'https://habr.com/ru/rss/all/top100/?fl=ru' ), ] def preprocess_html(self, soup): for img in soup.findAll('img', attrs={'data-src': True}): img['src'] = img['data-src'] return soup