mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
62 lines
3.2 KiB
Plaintext
62 lines
3.2 KiB
Plaintext
# -*- coding: utf-8 -*-
|
|
|
|
from calibre.web.feeds.news import BasicNewsRecipe
|
|
|
|
|
|
class RBC_ru(BasicNewsRecipe):
|
|
title = u'RBC.ru'
|
|
__author__ = 'A. Chewi'
|
|
description = u'Российское информационное агентство «РосБизнесКонсалтинг» (РБК) - ленты новостей политики, экономики и финансов, аналитические материалы, комментарии и прогнозы, тематические статьи' # noqa
|
|
needs_subscription = False
|
|
cover_url = 'http://pics.rbc.ru/img/fp_v4/skin/img/logo.gif'
|
|
cover_margins = (80, 160, '#ffffff')
|
|
oldest_article = 10
|
|
max_articles_per_feed = 50
|
|
summary_length = 200
|
|
remove_empty_feeds = True
|
|
no_stylesheets = True
|
|
remove_javascript = True
|
|
use_embedded_content = False
|
|
conversion_options = {'linearize_tables': True}
|
|
language = 'ru'
|
|
timefmt = ' [%a, %d %b, %Y]'
|
|
|
|
feeds = [(u'Главные новости', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/mainnews.rss'),
|
|
(u'Политика', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/politics.rss'),
|
|
(u'Экономика', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/economics.rss'),
|
|
(u'Общество', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/society.rss'),
|
|
(u'Происшествия', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/incidents.rss'),
|
|
(u'Финансовые новости Quote.rbc.ru', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/quote.ru/mainnews.rss')]
|
|
|
|
keep_only_tags = [dict(name='h2', attrs={}),
|
|
dict(name='div', attrs={'class': 'box _ga1_on_'}),
|
|
dict(name='h1', attrs={'class': 'news_section'}),
|
|
dict(name='div', attrs={
|
|
'class': 'news_body dotted_border_bottom'}),
|
|
dict(name='table', attrs={'class': 'newsBody'}),
|
|
dict(name='h2', attrs={'class': 'black'})]
|
|
|
|
remove_tags = [dict(name='div', attrs={'class': "video-frame"}),
|
|
dict(name='div', attrs={
|
|
'class': "photo-container videoContainer videoSWFLinks videoPreviewSlideContainer notes"}),
|
|
dict(name='div', attrs={'class': "notes"}),
|
|
dict(name='div', attrs={'class': "publinks"}),
|
|
dict(name='a', attrs={'class': "print"}),
|
|
dict(name='div', attrs={
|
|
'class': "photo-report_new notes newslider"}),
|
|
dict(name='div', attrs={'class': "videoContainer"}),
|
|
dict(name='div', attrs={
|
|
'class': "videoPreviewSlideContainer"}),
|
|
dict(name='a', attrs={'class': "videoPreviewContainer"}),
|
|
dict(name='a', attrs={'class': "red"}), ]
|
|
|
|
def preprocess_html(self, soup):
|
|
for alink in soup.findAll('a'):
|
|
if alink.string is not None:
|
|
tstr = alink.string
|
|
alink.replaceWith(tstr)
|
|
return soup
|
|
|
|
def print_version(self, url):
|
|
return url + '?print=true'
|