#!/usr/bin/env python # vim:fileencoding=utf-8 from __future__ import unicode_literals, division, absolute_import, print_function ''' noz.de ''' from calibre.web.feeds.news import BasicNewsRecipe class NeueOsnabrueckerZeitung(BasicNewsRecipe): title = 'Neue Osnabrücker Zeitung' __author__ = 'vo_he, epubli' description = 'RSS-Feeds von noz.de' publisher = 'Neue Osnabrücker Zeitung GmbH & Co. KG' publication_type = 'newspaper' language = 'de' cover_url= 'https://www.noz-cdn.de/version-247/bundles/nozplatform/images/logos/noz-logo2x.png' oldest_article = 2 max_articles_per_feed = 10 no_stylesheets = True remove_javascript = True remove_empty_feeds = True compress_news_images = True compress_news_images_auto_size = 8 scale_news_images_to_device = True scale_news_images = (600, 800) ignore_duplicate_articles = {'title', 'url'} masthead_url = 'http://www.noz.de/bundles/nozplatform/images/logos/osnabruecker-zeitung.png' feeds = [ ('Politik', 'http://www.noz.de/rss/ressort/Politik'), ('Wirtschaft', 'http://www.noz.de/rss/ressort/Wirtschaft'), ('Kultur', 'http://www.noz.de/rss/ressort/Kultur'), ('Medien', 'http://www.noz.de/rss/ressort/Medien'), ('Gut zu wissen', 'http://www.noz.de/rss/ressort/Gut%20zu%20wissen'), ('Vermischtes', 'http://www.noz.de/rss/ressort/Vermischtes'), ('Sport', 'http://www.noz.de/rss/ressort/Sport'), ('Fußball', 'http://www.noz.de/rss/ressort/Fu%C3%9Fball'), ('Niedersachsen', 'http://www.noz.de/rss/ressort/Niedersachsen'), ('Nordrhein-Westfalen', 'http://www.noz.de/rss/ressort/Nordrhein-Westfalen'), # Neue Osnabrücker Zeitung # ('Bad Iburg', 'http://www.noz.de/rss/ressort/Bad%20Iburg'), # ('Bad Laer', 'http://www.noz.de/rss/ressort/Bad%20Laer'), # ('Bad Rothenfelde', 'http://www.noz.de/rss/ressort/Bad%20Rothenfelde'), # ('Belm', 'http://www.noz.de/rss/ressort/Belm'), # ('Bissendorf', 'http://www.noz.de/rss/ressort/Bissendorf'), # ('Dissen', 'http://www.noz.de/rss/ressort/Dissen'), # ('GMHütte', 'http://www.noz.de/rss/ressort/Georgsmarienh%C3%BCtte'), # ('Glandorf', 'http://www.noz.de/rss/ressort/Glandorf'), # ('Hagen', 'http://www.noz.de/rss/ressort/Hagen'), # ('Hasbergen', 'http://www.noz.de/rss/ressort/Hasbergen'), # ('Hilter', 'http://www.noz.de/rss/ressort/Hilter'), # ('Lotte', 'http://www.noz.de/rss/ressort/Lotte'), # ('SF Lotte', 'http://www.noz.de/rss/ressort/SF%20Lotte'), # ('Osnabrück', 'http://www.noz.de/rss/ressort/Osnabr%C3%BCck'), # ('OS-Sport', 'http://www.noz.de/rss/ressort/OS-Sport'), # ('Panthers', 'http://www.noz.de/rss/ressort/Panthers'), # ('Wallenhorst', 'http://www.noz.de/rss/ressort/Wallenhorst'), # ('Westerkappeln', 'http://www.noz.de/rss/ressort/Westerkappeln'), # Bersenbrücker Kreisblatt # ('Artland', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Artland'), # ('Artland Dragons', 'http://www.noz.de/rss/ressort/Artland%20Dragons'), # ('Bersenbrück', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Bersenbr%C3%BCck'), # ('Fürstenau', 'http://www.noz.de/rss/ressort/Samtgemeinde%20F%C3%BCrstenau'), # ('Neuenkirchen', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Neuenkirchen'), # Bramscher Nachrichten # ('Bramsche', 'http://www.noz.de/rss/ressort/Bramsche'), # ('Neuenkirchen-Vörden', 'http://www.noz.de/rss/ressort/Neuenkirchen-V%C3%B6rden'), # Delmenhorster Kreisblatt # ('Bremen', 'http://www.noz.de/rss/ressort/Bremen'), # ('Delmenhorst', 'http://www.noz.de/rss/ressort/Delmenhorst'), # ('Ganderkesee', 'http://www.noz.de/rss/ressort/Ganderkesee'), # ('Stuhr', 'http://www.noz.de/rss/ressort/Stuhr'), # Ems-Zeitung # ('Dörpen', 'http://www.noz.de/rss/ressort/D%C3%B6rpen'), # ('Lathen', 'http://www.noz.de/rss/ressort/Lathen'), # ('Nordhümmling', 'http://www.noz.de/rss/ressort/Nordh%C3%BCmmling'), # ('Papenburg', 'http://www.noz.de/rss/ressort/Papenburg'), # ('Rhede', 'http://www.noz.de/rss/ressort/Rhede'), # ('Sögel', 'http://www.noz.de/rss/ressort/S%C3%B6gel'), # ('Werlte', 'http://www.noz.de/rss/ressort/Werlte'), # ('Westoverledingen', 'http://www.noz.de/rss/ressort/Westoverledingen'), # Lingener Tagespost # ('Emsbueren', 'http://www.noz.de/rss/ressort/Emsb%C3%BCren'), # ('Freren', 'http://www.noz.de/rss/ressort/Freren'), # ('Lengerich', 'http://www.noz.de/rss/ressort/Lengerich'), # ('Lingen', 'http://www.noz.de/rss/ressort/Lingen'), # ('Lohne', 'http://www.noz.de/rss/ressort/Lohne'), # ('Salzbergen', 'http://www.noz.de/rss/ressort/Salzbergen'), # ('Spelle', 'http://www.noz.de/rss/ressort/Spelle'), # Meller Kreisblatt # ('Melle', 'http://www.noz.de/rss/ressort/Melle'), # Wittlager Kreisblatt # ('Bad Essen', 'http://www.noz.de/rss/ressort/Bad%20Essen'), # ('Bohmte', 'http://www.noz.de/rss/ressort/Bohmte'), # ('Ostercappeln', 'http://www.noz.de/rss/ressort/Ostercappeln'), # Meppener Tagespost # ('Geeste', 'http://www.noz.de/rss/ressort/Geeste'), # ('Haren', 'http://www.noz.de/rss/ressort/Haren'), # ('Haselünne', 'http://www.noz.de/rss/ressort/Hasel%C3%BCnne'), # ('Herzlake', 'http://www.noz.de/rss/ressort/Herzlake'), # ('Meppen', 'http://www.noz.de/rss/ressort/Meppen'), # ('SV Meppen', 'http://www.noz.de/rss/ressort/SV%20Meppen'), # ('Twist', 'http://www.noz.de/rss/ressort/Twist') ] def print_version(self, url): url_split = url.split('/') return 'http://www.noz.de/socialmediabar/print/article/' + url_split[-2] def preprocess_html(self, soup): # remove first paragraph paragraph = soup.find('p') if paragraph: paragraph.extract() else: self.abort_article() return soup