diff --git a/resources/recipes/tagesspiegel.recipe b/resources/recipes/tagesspiegel.recipe index e5d2600ae0..3129820e2c 100644 --- a/resources/recipes/tagesspiegel.recipe +++ b/resources/recipes/tagesspiegel.recipe @@ -10,7 +10,7 @@ from calibre.web.feeds.news import BasicNewsRecipe class TagesspiegelRSS(BasicNewsRecipe): title = u'Der Tagesspiegel' - __author__ = 'ipaschke' + __author__ = 'Ingo Paschke' language = 'de' oldest_article = 7 max_articles_per_feed = 100 @@ -39,25 +39,30 @@ class TagesspiegelRSS(BasicNewsRecipe): dict(name='link'), dict(name='iframe'),dict(name='style'),dict(name='meta'),dict(name='button'), dict(name='div', attrs={'class':["hcf-jump-to-comments","hcf-clear","hcf-magnify hcf-media-control"] }), dict(name='span', attrs={'class':["hcf-mainsearch",] }), - dict(name='ul', attrs={'class':["hcf-tools"] }), + dict(name='ul', attrs={'class':["hcf-tools"]}), + dict(name='ul', attrs={'class': re.compile('hcf-services')}) ] def parse_index(self): soup = self.index_to_soup('http://www.tagesspiegel.de/zeitung/') def feed_title(div): - return ''.join(div.findAll(text=True, recursive=False)).strip() + return ''.join(div.findAll(text=True, recursive=False)).strip() if div is not None else None articles = {} key = None ans = [] + maincol = soup.find('div', attrs={'class':re.compile('hcf-main-col')}) - for div in soup.findAll(True, attrs={'class':['hcf-teaser', 'hcf-header', 'story headline']}): + for div in maincol.findAll(True, attrs={'class':['hcf-teaser', 'hcf-header', 'story headline']}): if div['class'] == 'hcf-header': + try: key = string.capwords(feed_title(div.em.a)) articles[key] = [] ans.append(key) + except: + continue elif div['class'] == 'hcf-teaser' and getattr(div.contents[0],'name','') == 'h2': a = div.find('a', href=True) @@ -84,3 +89,4 @@ class TagesspiegelRSS(BasicNewsRecipe): return ans +