calibre/recipes/jpost.recipe

45 lines
1.5 KiB
Python

from calibre.web.feeds.news import BasicNewsRecipe
def classes(classes):
q = frozenset(classes.split(' '))
return dict(
attrs={'class': lambda x: x and frozenset(x.split()).intersection(q)}
)
class JerusalemPost(BasicNewsRecipe):
title = 'Jerusalem Post'
description = 'News from Israel and the Middle East'
use_embedded_content = False
language = 'en'
keep_only_tags = [
classes('margin-container-body article-title article-subline article-inner-content-breaking-news'),
]
remove_tags = [
classes('share-buttons hide-for-premium'),
]
remove_attributes = ['style']
no_stylesheets = True
__author__ = 'Kovid Goyal'
max_articles_per_feed = 10
no_stylesheets = True
def get_browser(self):
return BasicNewsRecipe.get_browser(self, user_agent='common_words/based')
feeds = [
('Top Stories', 'https://www.jpost.com/Rss/RssFeedsHeadlines.aspx'),
('Arab Israeli Conflict', 'https://www.jpost.com/rss/rssfeedsarabisraeliconflict.aspx'),
('US Politics', 'https://www.jpost.com/rss/rssfeedsamerican-politics'),
('Israel News', 'https://www.jpost.com/rss/rssfeedsisraelnews.aspx'),
(
'Middle East News',
'https://www.jpost.com/rss/rssfeedsmiddleeastnews.aspx'
),
('International News', 'https://www.jpost.com/rss/rssfeedsinternational'),
('Opinion', 'https://www.jpost.com/Rss/RssFeedsOpinion.aspx'),
]