This commit is contained in:
Kovid Goyal 2016-10-10 09:13:44 +05:30
commit 04fe1a0c05
5 changed files with 18 additions and 32 deletions

View File

@ -1,19 +0,0 @@
#!/usr/bin/env python2
__license__ = 'GPL v3'
__copyright__ = u'2012, Artur Stachecki <artur.stachecki@gmail.com>'
from calibre.web.feeds.news import BasicNewsRecipe
class swiatczytnikow(BasicNewsRecipe):
title = u'eKundelek'
description = u'Najsympatyczniejszy blog o e-czytnikach Kindle'
language = 'pl'
__author__ = u'Artur Stachecki'
oldest_article = 7
max_articles_per_feed = 100
remove_empty_feeds = True
remove_tags = [dict(name='div', attrs={'class': 'feedflare'})]
feeds = [(u'Wpisy', u'http://feeds.feedburner.com/Ekundelekpl?format=xml')]

View File

@ -12,7 +12,7 @@ class ESO(BasicNewsRecipe):
no_stylesheets = True no_stylesheets = True
remove_empty_feeds = True remove_empty_feeds = True
use_embedded_content = False use_embedded_content = False
cover_url = 'https://twimg0-a.akamaihd.net/profile_images/1922519424/eso-twitter-logo.png' cover_url = 'https://www.eso.org/public/archives/logos/medium/eso-logo-black-outline.jpg'
keep_only_tags = [dict(attrs={'class': 'subcl'})] keep_only_tags = [dict(attrs={'class': 'subcl'})]
remove_tags = [dict(id='lang_row'), dict( remove_tags = [dict(id='lang_row'), dict(
attrs={'class': ['pr_typeid', 'pr_news_feature_link', 'outreach_usage', 'hidden']})] attrs={'class': ['pr_typeid', 'pr_news_feature_link', 'outreach_usage', 'hidden']})]
@ -21,6 +21,9 @@ class ESO(BasicNewsRecipe):
(u'Og\u0142oszenia', u'http://www.eso.org/public/poland/announcements/feed/'), (u'Og\u0142oszenia', u'http://www.eso.org/public/poland/announcements/feed/'),
(u'Zdj\u0119cie tygodnia', u'http://www.eso.org/public/poland/images/potw/feed/')] (u'Zdj\u0119cie tygodnia', u'http://www.eso.org/public/poland/images/potw/feed/')]
keep_only_tags = [
dict(name='div',attrs={'class':'col-md-9 left-column'})]
def preprocess_html(self, soup): def preprocess_html(self, soup):
for a in soup.findAll('a', href=True): for a in soup.findAll('a', href=True):
if a['href'].startswith('/'): if a['href'].startswith('/'):

View File

@ -18,7 +18,7 @@ class GryOnlinePl(BasicNewsRecipe):
keep_only_tags = [dict(name='div', attrs={'class': [ keep_only_tags = [dict(name='div', attrs={'class': [
'gc660', 'gc660 S013', 'news_endpage_tit', 'news_container', 'news']})] 'gc660', 'gc660 S013', 'news_endpage_tit', 'news_container', 'news']})]
remove_tags = [ remove_tags = [
dict({'class': ['nav-social', 'add-info', 'smlb', 'lista lista3 lista-gry', 'S013po', 'S013-npb', 'zm_gfx_cnt_bottom', 'ocen-txt', 'wiecej-txt', 'wiecej-txt2', 'twitter-share-button']})] # noqa dict({'class': ['nav-social', 'add-info', 'smlb', 'lista lista3 lista-gry', 'S013po', 'S013-npb', 'zm_gfx_cnt_bottom', 'ocen-txt', 'wiecej-txt', 'wiecej-txt2', 'social-for-old-news', 'social-for-old-rec']})] # noqa
feeds = [ feeds = [
(u'Newsy', 'http://www.gry-online.pl/rss/news.xml'), (u'Newsy', 'http://www.gry-online.pl/rss/news.xml'),
('Teksty', u'http://www.gry-online.pl/rss/teksty.xml')] ('Teksty', u'http://www.gry-online.pl/rss/teksty.xml')]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

View File

@ -9,29 +9,31 @@ class tvn24(BasicNewsRecipe):
description = u'Sport, Biznes, Gospodarka, Informacje, Wiadomości Zawsze aktualne wiadomości z Polski i ze świata' description = u'Sport, Biznes, Gospodarka, Informacje, Wiadomości Zawsze aktualne wiadomości z Polski i ze świata'
category = 'news' category = 'news'
language = 'pl' language = 'pl'
cover_url = 'http://www.qzdrowiu.pl/Upload/KnowQZdrowiu_PressOffice/TVN24_logo_575702b7-edce-4b6f-a41b-4395f9456f96_ff6d6ccf-528a-4b94-9e61-2fed727aba35.png' # noqa cover_url = 'http://ncplus.pl/~/media/n/npl/kanaly/logo%20na%20strony%20kanalow/tvn24-630.png' # noqa
extra_css = 'ul {list-style: none; padding: 0; margin: 0;} li {float: left;margin: 0 0.15em;}' extra_css = 'ul {list-style: none; padding: 0; margin: 0;} li {float: left;margin: 0 0.15em;}'
remove_empty_feeds = True remove_empty_feeds = True
remove_javascript = True remove_javascript = True
no_stylesheets = True no_stylesheets = True
keep_only_tags = [ keep_only_tags = [
# dict(name='h1', attrs={'class':'size38 mt20 pb20'}), dict(name='article',attrs={'class':'mb20'})
dict(name='div', attrs={'class': 'mainContainer'}),
# dict(name='p'),
# dict(attrs={'class':['size18 mt10 mb15', 'bold topicSize1', 'fromUsers content', 'textArticleDefault']})
] ]
remove_tags = [ remove_tags = [
dict(attrs={'class': ['commentsInfo', 'textSize', 'related newsNews align-right', 'box', 'watchMaterial text', 'related galleryGallery align-center', 'advert block-alignment-right', 'userActions', 'socialBookmarks', 'im yourArticle fl', 'dynamicButton addComment fl', 'innerArticleModule onRight cols externalContent', 'thumbsGallery', 'relatedObject customBlockquote align-right', 'lead', 'mainRightColumn', 'articleDateContainer borderGreyBottom', 'socialMediaContainer onRight loaded', 'quizContent', 'twitter', 'facebook', 'googlePlus', 'share', 'voteResult', 'reportTitleBar bgBlue_v4 mb15', 'innerVideoModule center']}), # noqa dict(attrs={'class': ['commentsInfo', 'textSize', 'related newsNews align-right', 'box', 'watchMaterial text', 'related galleryGallery align-center', 'advert block-alignment-right', 'userActions', 'socialBookmarks', 'im yourArticle fl', 'dynamicButton addComment fl', 'thumbsGallery', 'relatedObject customBlockquote align-right', 'lead', 'mainRightColumn', 'articleDateContainer borderGreyBottom', 'socialMediaContainer onRight loaded', 'quizContent', 'twitter', 'facebook', 'googlePlus', 'share', 'voteResult', 'reportTitleBar bgBlue_v4 mb15', 'innerVideoModule center']}), # noqa
dict(name='article', attrs={'class': [ dict(name='aside'),
'singleArtPhotoCenter', 'singleArtPhotoRight', 'singleArtPhotoLeft']}), dict(name='figure'),
dict(name='section', attrs={ dict(name='section', attrs={
'id': ['forum', 'innerArticle', 'quiz toCenter', 'mb20']}), 'id': ['forum', 'innerArticle', 'quiz toCenter', 'mb20']})
dict(name='div', attrs={
'class': 'socialMediaContainer big p20 mb20 borderGrey loaded'})
] ]
remove_tags_after = [dict(name='li', attrs={'class': 'share'})] remove_tags_after = [dict(name='li', attrs={'class': 'share'})]
feeds = [(u'Najnowsze', u'http://www.tvn24.pl/najnowsze.xml'), ] feeds = [(u'Najnowsze', u'http://www.tvn24.pl/najnowsze.xml'), ]
def get_article_url(self, article):
link = article.get('link')
# following websites are linked in aforementioned feeds, but have different layout not compatible with this recipe
banned = ['tvnwarszawa.pl','tvnmeteo.pl','szklokontaktowe.tvn24.pl','tvn24bis.pl']
if not any(x in link for x in banned):
return link
def preprocess_html(self, soup): def preprocess_html(self, soup):
for alink in soup.findAll('a'): for alink in soup.findAll('a'):
if alink.string is not None: if alink.string is not None: