#!/usr/bin/env python2 # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import with_statement ''' Changelog 2012-04-27 DrMerry: Added cover picture removed some extra tags ''' __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' import re from calibre.web.feeds.news import BasicNewsRecipe class Tweakers(BasicNewsRecipe): title = u'Tweakers.net' __author__ = 'Kovid Goyal' language = 'nl' oldest_article = 4 max_articles_per_feed = 40 cover_url = 'http://tweakers.net/ext/launch/g/logo.gif' keep_only_tags = [dict(name='div', attrs={'class':'columnwrapper news'})] remove_tags = [dict(name='div', attrs={'class':'reacties'}), {'id' : ['utracker','socialButtons','b_ac']}, {'class' : ['sidebar','advertorial']}, {'class' : re.compile('nextPrevious')}, ] no_stylesheets=True filter_regexps = [r'ads\.doubleclick\.net',r'ad\.doubleclick\.net'] feeds = [(u'Tweakers.net', u'http://tweakers.net/feeds/nieuws.xml')] def preprocess_html(self, soup): for a in soup.findAll('a', href=True, rel=True): if a['rel'].startswith('imageview'): a['src'] = a['href'] del a['href'] a.name = 'img' for x in a.findAll(True): x.extract() return soup def postprocess_html(self, soup, first): for base in soup.findAll('base'): base.extract() return soup