mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
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 YahooNews(BasicNewsRecipe):
|
|
title = 'Yahoo News'
|
|
__author__ = 'Starson17'
|
|
description = 'Yahoo-Science'
|
|
language = 'en'
|
|
use_embedded_content = False
|
|
no_stylesheets = True
|
|
linearize_tables = True
|
|
oldest_article = 24
|
|
remove_javascript = True
|
|
remove_empty_feeds = True
|
|
max_articles_per_feed = 10
|
|
|
|
feeds = [ # There are dozens of other feeds at http://news.yahoo.com/rss
|
|
(u'Top Stories', u'http://rss.news.yahoo.com/rss/topstories'),
|
|
(u'Science', u'http://rss.news.yahoo.com/rss/science')
|
|
]
|
|
|
|
keep_only_tags = [
|
|
dict(name='h1'),
|
|
dict(attrs={'itemprop': 'articleBody'})
|
|
]
|
|
|
|
remove_tags = [
|
|
classes('canvas-yahoovideo canvas-sharebuttons'),
|
|
dict(name='button'),
|
|
]
|
|
|
|
extra_css = '''
|
|
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
|
|
h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
|
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
|
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
|
'''
|