from calibre.web.feeds.news import BasicNewsRecipe, classes class DeutscheWelle(BasicNewsRecipe): title = u'Deutsche Welle \u043D\u0430 \u0440\u0443\u0441\u0441\u043A\u043E\u043C' description = u'\u0420\u0443\u0441\u0441\u043A\u0430\u044F \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F Deutsche Welle: \u043D\u043E\u0432\u043E\u0441\u0442\u0438, \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430, \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438 \u0440\u0435\u043F\u043E\u0440\u0442\u0430\u0436\u0438 \u0438\u0437 \u0413\u0435\u0440\u043C\u0430\u043D\u0438\u0438 \u0438 \u0415\u0432\u0440\u043E\u043F\u044B, \u043D\u0435\u043C\u0435\u0446\u043A\u0438\u0439 \u0438 \u0435\u0432\u0440\u043E\u043F\u0435\u0439\u0441\u043A\u0438\u0439 \u0432\u0437\u0433\u043B\u044F\u0434 \u043D\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0432 \u0420\u043E\u0441\u0441\u0438\u0438 \u0438 \u043C\u0438\u0440\u0435, \u043F\u0440\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0441\u043E\u0432\u0435\u0442\u044B \u0434\u043B\u044F \u0442\u0443\u0440\u0438\u0441\u0442\u043E\u0432 \u0438 \u0442\u0435\u0445, \u043A\u0442\u043E \u0436\u0435\u043B\u0430\u0435\u0442 \u0443\u0447\u0438\u0442\u044C\u0441\u044F \u0438\u043B\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0432 \u0413\u0435\u0440\u043C\u0430\u043D\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043D\u0430\u0445 \u0415\u0432\u0440\u043E\u0441\u043E\u044E\u0437\u0430.' # noqa: E501 __author__ = 'bugmen00t, unkn0wn' publication_type = 'newspaper' oldest_article = 2 max_articles_per_feed = 100 language = 'ru' # cover_url = 'https://www.dw.com/cssi/dwlogo-print.gif' remove_javascript = True no_stylesheets = True remove_empty_feeds = True ignore_duplicate_articles = {'title', 'url'} remove_attributes = ['height', 'width', 'style'] recipe_specific_options = { 'days': { 'short': 'Oldest article to download from this news source. In days ', 'long': 'For example, 0.5, gives you articles from the past 12 hours', 'default': str(oldest_article) } } def __init__(self, *args, **kwargs): BasicNewsRecipe.__init__(self, *args, **kwargs) d = self.recipe_specific_options.get('days') if d and isinstance(d, str): self.oldest_article = float(d) def preprocess_html(self, soup): for img in soup.findAll('img', srcset=True): img['src'] = img['srcset'].split()[6] return soup keep_only_tags = [ dict(name='article') ] remove_tags = [ dict(name=['footer', 'source']), dict(attrs={'data-tracking-name':'sharing-icons-inline'}), classes('kicker advertisement vjs-wrapper') ] feeds = [ ( u'\u0412\u0435\u0441\u044C \u0441\u0430\u0439\u0442', 'https://rss.dw.com/xml/rss-ru-all' ), ( u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'http://rss.dw.de/xml/rss-ru-news' ), ( u'\u041F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u0438 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u043E', 'http://rss.dw.de/xml/rss-ru-pol' ), ( u'\u042D\u043A\u043E\u043D\u043E\u043C\u0438\u043A\u0430', 'http://rss.dw.de/xml/rss-ru-eco' ), ( u'\u0410\u0432\u0442\u043E\u043C\u043E\u0431\u0438\u043B\u044C', 'http://rss.dw.de/xml/rss-ru-auto' ), ( u'\u041A\u0443\u043B\u044C\u0442\u0443\u0440\u0430 \u0438 \u0441\u0442\u0438\u043B\u044C \u0436\u0438\u0437\u043D\u0438', 'http://rss.dw.de/xml/rss-ru-cul' ), (u'\u0420\u043E\u0441\u0441\u0438\u044F', 'http://rss.dw.de/xml/rss-ru-rus'), ( u'\u0413\u0435\u0440\u043C\u0430\u043D\u0438\u044F', 'http://rss.dw.de/xml/rss-ru-ger' ), (u'\u0415\u0432\u0440\u043E\u043F\u0430', 'http://rss.dw.de/xml/rss-ru-eu'), ( u'\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C', 'http://rss.dw.de/xml/rss-ru-bel' ), ( u'\u0423\u0447\u0435\u0431\u0430 \u0438 \u043A\u0430\u0440\u044C\u0435\u0440\u0430', 'http://rss.dw.de/xml/rss-ru-campus-karriere' ), (u'\u0423\u0447\u0435\u0431\u0430 ', 'http://rss.dw.de/xml/rss-ru-campus'), ( u'\u041A\u0430\u0440\u044C\u0435\u0440\u0430 ', 'http://rss.dw.de/xml/rss-ru-karriere' ), ( u'\u0422\u0443\u0440\u0438\u0441\u0442\u0443 \u043D\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0443', 'http://rss.dw.de/xml/rss-ru-discover-ger' ) ]