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
16 changed files with 435 additions and 0 deletions
+30
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
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/')
]
Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+101
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
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
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
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
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
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