more russian and ukranian news sources by bugmen00t

This commit is contained in:
Kovid Goyal 2022-07-28 08:06:14 +05:30
parent 294ff22c63
commit 9488e9f8af
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
16 changed files with 435 additions and 0 deletions

30
recipes/coda.recipe Normal file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Coda(BasicNewsRecipe):
title = 'Coda'
__author__ = 'bugmen00t'
description = 'Coda Story reports on major currents shaping our world from disinformation to authoritarian technologies to the war on science. Coda stays on these stories to reveal why they matter, how they are connected and where they are heading next.' # noqa
publisher = 'Natalia Antelava & Ilan Greenberg'
category = 'blog'
cover_url = u'https://www.codastory.com/wp-content/uploads/2021/05/AT_thumbnail_512x512.png'
language = 'en_RU'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 180
max_articles_per_feed = 50
remove_tags_before = dict(name='div', attrs={'class': 'article'})
remove_tags_after = dict(name='div', attrs={'class': 'article'})
remove_tags = [
dict(name='li', attrs={'class': 'material-meta__type'}),
dict(name='div', attrs={'class': 'more'})
]
feeds = [('CODA', 'https://www.codastory.com/feed/')]

32
recipes/coda_ru.recipe Normal file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Coda(BasicNewsRecipe):
title = 'Coda \u043D\u0430 \u0440\u0443\u0441\u0441\u043A\u043E\u043C'
__author__ = 'bugmen00t'
description = 'Coda - \u043C\u0435\u0434\u0438\u0430, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u044B\u044F\u0432\u043B\u044F\u0435\u0442 \u0441\u0432\u044F\u0437\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u043C\u0438 \u0438 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442 \u0441\u043B\u0435\u0434\u0438\u0442\u044C \u0437\u0430 \u0438\u0441\u0442\u043E\u0440\u0438\u044F\u043C\u0438 \u0434\u0430\u0436\u0435 \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u043E\u043D\u0438 \u043E\u043D\u0438 \u043F\u0440\u043E\u043F\u0430\u043B\u0438 \u0438\u0437 \u043F\u043E\u0432\u0435\u0441\u0442\u043A\u0438. Coda \u043F\u043E\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044F \u043D\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0441\u0430\u043C\u0438 \u043A\u0440\u0438\u0437\u0438\u0441\u044B, \u043D\u043E \u0438 \u0432 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0438\u0445 \u043E\u043A\u0440\u0443\u0436\u0430\u0435\u0442' # noqa
publisher = 'Natalia Antelava & Ilan Greenberg'
category = 'blog'
cover_url = u'https://www.codastory.com/wp-content/uploads/2021/05/AT_thumbnail_512x512.png'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 180
max_articles_per_feed = 50
remove_tags_before = dict(name='article')
remove_tags_after = dict(name='div', attrs={'class': 'article'})
remove_tags = [
dict(name='li', attrs={'class': 'material-meta__type'}),
dict(name='div', attrs={'class': 'more'})
]
feeds = [
('CODA', 'https://www.codastory.com/ru/feed/')
]

BIN
recipes/icons/coda.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

BIN
recipes/icons/coda_ru.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

BIN
recipes/icons/mel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

BIN
recipes/icons/opennet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

BIN
recipes/icons/project.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

BIN
recipes/icons/sobaka.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

101
recipes/mel.recipe Normal file
View File

@ -0,0 +1,101 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Mel(BasicNewsRecipe):
title = '\u041C\u0435\u043B'
__author__ = 'bugmen00t'
description = '\u041C\u0435\u0434\u0438\u0430 \u043F\u0440\u043E \u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0438 \u0432\u043E\u0441\u043F\u0438\u0442\u0430\u043D\u0438\u0435 \u0434\u0435\u0442\u0435\u0439' # noqa
publisher = '\u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0438\u0437\u0434\u0430\u043D\u0438\u0435 \u00AB\u041C\u0435\u043B\u00BB'
category = 'blog'
cover_url = u'https://static.mel.fm/images/project/site/dummyLogo.png'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 7
max_articles_per_feed = 50
remove_tags_before = dict(name='article')
remove_tags_after = dict(name='div', attrs={'class': 'b-pb-article__body'})
remove_tags = [
dict(name='div', attrs={'class': 'b-ad-space__horizontal-centering'}),
dict(
name='div',
attrs={
'class':
'subscriptionBlock b-pb-publication-body__publication-newsletter-form'
}
),
dict(
name='div',
attrs={
'class':
'subscriptionBlock b-pb-article__publication-newsletter-form b-pb-article__publication-newsletter-form-post'
}
),
dict(
name='div',
attrs={
'class': 'newsletter-form b-pb-article__publication-newsletter-form'
}
),
dict(name='div', attrs={'class': 'bottom-wrapper'}),
dict(
name='div',
attrs={
'class':
'b-pb-article__right-column b-pb-article__right-column_without-cover b-pb-article__right-column_on-post-page'
}
),
dict(
name='div',
attrs={
'class':
'b-pb-article__right-column b-pb-article__right-column_with-cover'
}
),
dict(name='div', attrs={'class': 'main-tag'}),
dict(name='div', attrs={'class': 'main-tag_mobile'}),
dict(name='div', attrs={'class': 'publication-header__counter'}),
dict(
name='div',
attrs={
'class':
'smi2-news-container smi2-news-container_desktop smi2-news-container_desktop-news'
}
),
dict(
name='div',
attrs={'class': 'smi2-news-container smi2-news-container_desktop'}
),
dict(
name='div',
attrs={
'class':
'smi2-news-container smi2-news-container_mobile smi2-news-container_mobile-news'
}
),
dict(
name='div',
attrs={'class': 'smi2-news-container smi2-news-container_mobile'}
)
]
feeds = [(
'\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B',
'https://mel.fm/rss/default-all'
),
(
'\u041D\u043E\u0432\u043E\u0441\u0442\u0438',
'https://mel.fm/rss/default-news'
)]
def preprocess_html(self, soup):
for img in soup.findAll('img', attrs={'data-src': True}):
img['src'] = img['data-src']
return soup

59
recipes/opennet.recipe Normal file
View File

@ -0,0 +1,59 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class PaperPaper(BasicNewsRecipe):
title = 'OpenNet.ru'
__author__ = 'bugmen00t'
description = '\u0420\u0443\u0441\u0441\u043A\u043E\u044F\u0437\u044B\u0447\u043D\u044B\u0439 \u043F\u043E\u0440\u0442\u0430\u043B, \u043F\u043E\u0441\u0432\u044F\u0449\u0451\u043D\u043D\u044B\u0439 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C \u0438 \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u043C \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u044F\u043C (FOSS): \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u043D\u043E\u0432\u043E\u0441\u0442\u0438 \u0432 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u043E\u0433\u043E \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F, Linux, BSD \u0438 UNIX-\u043F\u043E\u0434\u043E\u0431\u043D\u044B\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0441\u0438\u0441\u0442\u0435\u043C.' # noqa
publisher = 'Maxim Chirkov'
category = 'blog'
cover_url = u'https://www.opennet.ru/opennet.gif'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 14
max_articles_per_feed = 50
remove_tags_before = dict(name='div', attrs={'id': 'as2'})
remove_tags_after = dict(name='tr', attrs={'bgcolor': '#D9DAC6'})
remove_tags = [dict(name='tr', attrs={'bgcolor': '#D9DAC6'})]
feeds = [
(
'\u0413\u043B\u0430\u0432\u043D\u044B\u0435 \u043D\u043E\u0432\u043E\u0441\u0442\u0438',
'https://www.opennet.ru/opennews/opennews_6_noadv.rss'
),
(
'\u041C\u0438\u043D\u0438-\u043D\u043E\u0432\u043E\u0441\u0442\u0438',
'https://www.opennet.ru/opennews/opennews_mini_noadv.rss'
),
(
'\u0421\u043E\u0431\u044B\u0442\u0438\u044F',
'https://www.opennet.ru/opennews/opennews_review.rss'
),
(
'\u041E\u0431\u0437\u043E\u0440\u044B \u0441\u0442\u0430\u0442\u0435\u0439',
'https://www.opennet.ru/opennews/opennews_arts.rss'
),
(
'\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C',
'https://www.opennet.ru/opennews/opennews_sec.rss'
),
(
'\u041D\u043E\u0432\u044B\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C',
'https://www.opennet.ru/opennews/opennews_prog.rss'
), ('Linux', 'https://www.opennet.ru/opennews/opennews_linux.rss'),
('BSD', 'https://www.opennet.ru/opennews/opennews_bsd.rss'),
('Ubuntu', 'https://www.opennet.ru/opennews/opennews_ubuntu_full.rss'),
('Fedora', 'https://www.opennet.ru/opennews/opennews_fedora_full.rss'),
(
'Mozilla/Firefox',
'https://www.opennet.ru/opennews/opennews_mozilla_full.rss'
)
]

95
recipes/paperpaper.recipe Normal file
View File

@ -0,0 +1,95 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class PaperPaper(BasicNewsRecipe):
title = '\u0411\u0443\u043C\u0430\u0433\u0430'
__author__ = 'bugmen00t'
description = '\u0418\u0437\u0434\u0430\u043D\u0438\u0435 \u043E \u043F\u0440\u0435\u043A\u0440\u0430\u0441\u043D\u043E\u043C \u0433\u043E\u0440\u043E\u0434\u0435 \u0421\u0430\u043D\u043A\u0442-\u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u043C, \u043A\u043E\u043D\u0435\u0447\u043D\u043E, \u0434\u0430\u043B\u0435\u043A\u043E \u043D\u0435 \u0432\u0441\u0451 \u0438\u0434\u0435\u0430\u043B\u044C\u043D\u043E, \u2014 \u0438 \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043C\u044B \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u043C\u0441\u044F \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u0438\u043A\u043E\u0439, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u0432\u043B\u0435\u043A\u0430\u0442\u044C \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435 \u043A \u0432\u0430\u0436\u043D\u044B\u043C \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430\u043C \u0438 \u0432\u043B\u0438\u044F\u0442\u044C \u043D\u0430 \u0438\u0445 \u0440\u0435\u0448\u0435\u043D\u0438\u0435.' # noqa
publisher = '\u041A\u0438\u0440\u0438\u043B\u043B \u0410\u0440\u0442\u0451\u043C\u0435\u043D\u043A\u043E, \u0422\u0430\u0442\u044C\u044F\u043D\u0430 \u0418\u0432\u0430\u043D\u043E\u0432\u0430' # noqa
category = 'newspaper'
cover_url = u'https://upload.wikimedia.org/wikipedia/commons/1/1f/Paperpaper_logo.jpg'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 14
max_articles_per_feed = 50
remove_tags_before = dict(name='article')
remove_tags_after = dict(name='article')
remove_tags = [
dict(name='div', attrs={'class': 'bottom-block '}),
dict(name='div', attrs={'class': 'bottom-block news'})
]
feeds = [
# ('\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B', 'https://paperpaper.ru/feed/?service'),
(
'\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B',
'https://wemissedyou.rknrkn.ru/feed/?service'
),
# ('\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://paperpaper.ru/category/what/news/feed/'),
(
'\u041D\u043E\u0432\u043E\u0441\u0442\u0438',
'https://wemissedyou.rknrkn.ru/category/what/news/feed/'
),
# ('\u0418\u0441\u0442\u043E\u0440\u0438\u0438', 'https://paperpaper.ru/category/features/feed/'),
(
'\u0418\u0441\u0442\u043E\u0440\u0438\u0438',
'https://wemissedyou.rknrkn.ru/category/features/feed/'
),
# ('\u0413\u0438\u0434\u044B', 'https://paperpaper.ru/category/guides/feed/'),
(
'\u0413\u0438\u0434\u044B',
'https://wemissedyou.rknrkn.ru/category/guides/feed/'
),
# ('\u0421\u043F\u0438\u0441\u043E\u043A', 'https://paperpaper.ru/tag/%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA/feed/'),
(
'\u0421\u043F\u0438\u0441\u043E\u043A',
'https://wemissedyou.rknrkn.ru/tag/%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA/feed/'
),
# ('\u042D\u043A\u0441\u043F\u0430\u0442\u044B', 'https://paperpaper.ru/tag/expat/feed/'),
(
'\u042D\u043A\u0441\u043F\u0430\u0442\u044B',
'https://wemissedyou.rknrkn.ru/tag/expat/feed/'
),
# ('\u0418\u0441\u0442\u043E\u0440\u0438\u0438', 'https://paperpaper.ru/tag/stories/feed/'),
(
'\u0418\u0441\u0442\u043E\u0440\u0438\u0438',
'https://wemissedyou.rknrkn.ru/tag/stories/feed/'
),
# ('\u041E\u0442\u0432\u0435\u0442\u044B', 'https://paperpaper.ru/tag/otvety/feed/'),
(
'\u041E\u0442\u0432\u0435\u0442\u044B',
'https://wemissedyou.rknrkn.ru/tag/otvety/feed/'
),
# ('\u041F\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044F', 'https://paperpaper.ru/tag/traveltravel/feed/'),
(
'\u041F\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044F',
'https://wemissedyou.rknrkn.ru/tag/traveltravel/feed/'
),
# ('\u041D\u0430\u0443\u0447\u043F\u043E\u043F', 'https://paperpaper.ru/category/main-cats/nauchpop/feed/'),
(
'\u041D\u0430\u0443\u0447\u043F\u043E\u043F',
'https://wemissedyou.rknrkn.ru/category/main-cats/nauchpop/feed/'
),
(
'\u0412\u043E\u0435\u043D\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0432 \u0423\u043A\u0440\u0430\u0438\u043D\u0435',
'https://wemissedyou.rknrkn.ru/tag/obostrenie-vokrug-ukrainy-2022/feed/'
),
# ('\u0423\u043A\u0440\u0430\u0438\u043D\u0430', 'https://paperpaper.ru/tag/ukraine/feed/'),
(
'\u0423\u043A\u0440\u0430\u0438\u043D\u0430',
'https://wemissedyou.rknrkn.ru/tag/ukraine/feed/'
),
# ('\u041D\u0430\u0443\u043A\u0430', 'https://paperpaper.ru/tag/science/feed/'),
(
'\u041D\u0430\u0443\u043A\u0430',
'https://wemissedyou.rknrkn.ru/tag/science/feed/'
)
]

39
recipes/project.recipe Normal file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Project(BasicNewsRecipe):
title = '\u041F\u0440\u043E\u0435\u043A\u0442'
__author__ = 'bugmen00t'
description = '\u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0438\u0437\u0434\u0430\u043D\u0438\u0435, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u043E\u0435 \u0431\u044B\u0432\u0448\u0438\u043C \u0433\u043B\u0430\u0432\u043D\u044B\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u043E\u043C \u0442\u0435\u043B\u0435\u043A\u0430\u043D\u0430\u043B\u0430 \u00AB\u0414\u043E\u0436\u0434\u044C\u00BB \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0421\u041C\u0418 \u0420\u043E\u043C\u0430\u043D\u043E\u043C \u0411\u0430\u0434\u0430\u043D\u0438\u043D\u044B\u043C, \u043A\u043E\u0442\u043E\u0440\u0435 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u044E\u0435\u0442\u0441\u044F \u043D\u0430 \u0440\u0430\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u0438\u043A\u0435.' # noqa
publisher = '\u0420\u043E\u043C\u0430\u043D \u0411\u0430\u0434\u0430\u043D\u0438\u043D'
category = 'blog'
cover_url = u'https://proektmedia-stat.ams3.digitaloceanspaces.com/2018/08/proektmedia_facebook_default.png'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 200
max_articles_per_feed = 20
remove_tags_before = dict(name='main')
remove_tags_after = dict(
name='div', attrs={'class': 'single-post__article js-post-article'}
)
remove_tags = [
dict(name='span', attrs={'class': 'more'}),
dict(name='span', attrs={'class': 'close'}),
dict(name='div', attrs={'class': 'socials js-socials-icons'})
]
feeds = [
('\u041F\u0440\u043E\u0435\u043A\u0442.', 'https://www.proekt.media/feed/')
]
def get_browser(self):
br = BasicNewsRecipe.get_browser(self, user_agent='common_words/based')
return br

38
recipes/project_en.recipe Normal file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Project(BasicNewsRecipe):
title = 'The Project'
__author__ = 'bugmen00t'
description = 'The Project is an independent Russian media specialising in in-depth journalism.'
publisher = 'Roman Badanin'
category = 'blog'
cover_url = u'https://proektmedia-stat.ams3.digitaloceanspaces.com/2018/08/proektmedia_facebook_default.png'
language = 'en_RU'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 600
max_articles_per_feed = 20
remove_tags_before = dict(name='main')
remove_tags_after = dict(
name='div', attrs={'class': 'single-post__article js-post-article'}
)
remove_tags = [
# dict(name='div', attrs={'class': 'stk-grid stk-theme_45496__mb_3'}),
dict(name='span', attrs={'class': 'more'}),
dict(name='span', attrs={'class': 'close'}),
dict(name='div', attrs={'class': 'socials js-socials-icons'})
]
feeds = [('The Project.', 'https://www.proekt.media/en/feed/')]
def get_browser(self):
br = BasicNewsRecipe.get_browser(self, user_agent='common_words/based')
return br

41
recipes/sobaka.recipe Normal file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Sobaka(BasicNewsRecipe):
title = '\u0421\u043E\u0431\u0430\u043A\u0430.ru'
__author__ = 'bugmen00t'
description = '\u0416\u0443\u0440\u043D\u0430\u043B \u043E \u043B\u044E\u0434\u044F\u0445 \u0432 \u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435' # noqa
publisher = '\u041E\u041E\u041E \u00AB\u0416\u0443\u0440\u043D\u0430\u043B\u044B \u0438 \u0441\u0430\u0439\u0442\u044B "\u0424\u0430\u0431\u0440\u0438\u043A\u0430 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430 "\u0422\u043E\u0447\u043A\u0430 \u0420\u0443"\u00BB' # noqa
category = 'magazine'
cover_url = u'https://static.sobaka.ru/images/post/00/04/31/21/_rotator.jpg'
language = 'ru'
no_stylesheets = False
remove_javascript = False
auto_cleanup = False
oldest_article = 7
max_articles_per_feed = 50
remove_tags_before = dict(name='div', attrs={'class': 'b-post-view__head'})
remove_tags_after = dict(name='div', attrs={'class': 'b-post-view__foot'})
remove_tags = [
dict(name='div', attrs={'class': 'b-post-view__telegram-promo'}),
dict(name='div', attrs={'class': 'b-post-view__tgb'}),
dict(name='div', attrs={'id': 'comments'}),
dict(name='div', attrs={'class': 'b-post-view__section'}),
dict(name='div', attrs={'class': 'b-post-view__share'}),
dict(name='div', attrs={'class': 'b-post-view__details-col b-post-view__details-col--w1'})
]
feeds = [
('\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://www.sobaka.ru/rss/news.xml')
]
def preprocess_html(self, soup):
for img in soup.findAll('img', attrs={'data-src': True}):
img['src'] = img['data-src']
return soup