Various Russian and Ukranian news sources by bugmen00t

This commit is contained in:
Kovid Goyal 2024-08-19 23:29:44 +05:30
parent 7e8d5ffe72
commit 62dc99112c
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
9 changed files with 153 additions and 1 deletions

27
recipes/agents.recipe Normal file
View File

@ -0,0 +1,27 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class Agents(BasicNewsRecipe):
title = u'\u00AB\u0410\u0433\u0435\u043D\u0442\u0441\u0442\u0432\u043E\u00BB'
description = u'\u041D\u043E\u0432\u043E\u0441\u0442\u043D\u043E\u0435 \u0438\u0437\u0434\u0430\u043D\u0438\u0435, \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0432\u044B\u0445\u043E\u0434\u0446\u0430\u043C\u0438 \u0438\u0437 \u043A\u043E\u043B\u043B\u0435\u043A\u0442\u0438\u0432\u0430 \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u043C\u043E\u0433\u043E \u0438\u0437\u0434\u0430\u043D\u0438\u044F \u00AB\u041F\u0440\u043E\u0435\u043A\u0442\u00BB.' # noqa
__author__ = 'bugmen00t'
publisher = 'Project Media'
publication_type = 'news'
oldest_article = 7
max_articles_per_feed = 10
language = 'ru'
cover_url = 'https://pbs.twimg.com/profile_images/1731905703365754880/b_Cpxx2N.jpg'
auto_cleanup = False
no_stylesheets = False
remove_tags_before = dict(name='h1')
remove_tags_after = dict(name='article')
feeds = [(
u'\u0413\u0430\u0437\u0435\u0442\u0430 "\u0421\u043E\u0431\u0435\u0441\u0435\u0434\u043D\u0438\u043A"',
'https://www.agents.media/feed/'
)]

43
recipes/geekcity.recipe Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class GeekCity(BasicNewsRecipe):
title = u'GeekCity'
description = u'\u041F\u043E\u0440\u0442\u0430\u043B \u043E \u043A\u043E\u043C\u0438\u043A\u0441\u0430\u0445, \u043A\u0438\u043D\u043E, \u0441\u0435\u0440\u0438\u0430\u043B\u0430\u0445, \u0438\u0433\u0440\u0430\u0445, sci-fi \u0438 \u043C\u043D\u043E\u0433\u043E\u043C \u0434\u0440\u0443\u0433\u043E\u043C. \u0417\u0434\u0435\u0441\u044C \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0439\u0442\u0438 \u0441\u0432\u0435\u0436\u0438\u0435 \u043D\u043E\u0432\u043E\u0441\u0442\u0438 \u043E \u0441\u0430\u043C\u044B\u0445 \u0432\u0430\u0436\u043D\u044B\u0445 \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445 \u0432 \u043C\u0438\u0440\u0435 \u0433\u0438\u043A\u043E\u0432, \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B\u0435 \u043E\u0431\u0437\u043E\u0440\u044B, \u0433\u0430\u0439\u0434\u044B, \u0441\u0442\u0430\u0442\u044C\u0438 \u0438 \u043C\u043D\u043E\u0433\u043E\u0435 \u0434\u0440\u0443\u0433\u043E\u0435.' # noqa
__author__ = 'bugmen00t'
publisher = 'GeekCity.ru'
publication_type = 'blog'
oldest_article = 7
max_articles_per_feed = 10
language = 'ru'
cover_url = 'https://geekcity.ru/wp-content/uploads/2021/03/og.jpg'
auto_cleanup = False
no_stylesheets = False
remove_tags_before = dict(name='article')
remove_tags_after = dict(name='article')
remove_tags = [
dict(name='div', attrs={'class': 'term-badges floated'}),
dict(name='div', attrs={'class': 'post-meta single-post-meta'}),
dict(name='div', attrs={'class': 'post-share single-post-share top-share clearfix style-1'}),
dict(name='div', attrs={'class': 'post-share single-post-share bottom-share clearfix style-1'}),
dict(name='div', attrs={'class': 'entry-terms post-tags clearfix'}),
]
feeds = [
('\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B', 'https://geekcity.ru/feed/'),
('\u0411\u0435\u0437 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438', 'https://geekcity.ru/category/%D0%B1%D0%B5%D0%B7-%D1%80%D1%83%D0%B1%D1%80%D0%B8%D0%BA%D0%B8/feed/'),
('\u0421\u0430\u0439\u0442', 'https://geekcity.ru/category/site/'),
('\u0424\u0438\u043B\u044C\u043C\u044B', 'https://geekcity.ru/category/moviespod/feed/'),
('\u0421\u0435\u0440\u0438\u0430\u043B\u044B', 'https://geekcity.ru/category/tvshow/feed/'),
('\u041A\u043E\u043C\u0438\u043A\u0441\u044B', 'https://geekcity.ru/category/comics-2/feed/'),
('\u0418\u0433\u0440\u044B', 'https://geekcity.ru/category/games/feed/'),
('\u0422\u0435\u0445\u043D\u043E', 'https://geekcity.ru/category/tech/feed/'),
('\u0428\u043C\u043E\u0442', 'https://geekcity.ru/category/shopping/feed/'),
('\u0413\u0430\u0439\u0434\u044B', 'https://geekcity.ru/category/guides/feed/'),
]

BIN
recipes/icons/agents.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

BIN
recipes/icons/geekcity.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
recipes/icons/zerkalo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

View File

@ -23,5 +23,5 @@ class Sobesednik(BasicNewsRecipe):
feeds = [(
u'\u0413\u0430\u0437\u0435\u0442\u0430 "\u0421\u043E\u0431\u0435\u0441\u0435\u0434\u043D\u0438\u043A"',
'https://sobesednik.com/rss.xml'
'https://sobesednik.ru/rss.xml'
)]

41
recipes/sotavision.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 Sotavision(BasicNewsRecipe):
title = u'SOTA.Vision'
description = u'\u0420\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0435 \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0435 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E-\u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043C\u0435\u0434\u0438\u0430, \u0441\u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043D\u0430 \u043E\u0441\u0432\u0435\u0449\u0435\u043D\u0438\u0438 \u043D\u0430\u0440\u0443\u0448\u0435\u043D\u0438\u044F \u043F\u0440\u0430\u0432 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u0438 \u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u043C \u043F\u0440\u0435\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0438 \u0432 \u0420\u043E\u0441\u0441\u0438\u0438.' # noqa
__author__ = 'bugmen00t'
publisher = '\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440\u0430 \u0410\u0433\u0435\u0435\u0432\u0430, \u041E\u043B\u0435\u0433 \u0415\u043B\u0430\u043D\u0447\u0438\u043A, \u0415\u0432\u0433\u0435\u043D\u0438\u0439 \u0414\u043E\u043C\u043E\u0436\u0438\u0440\u043E\u0432' # noqa
publication_type = 'news'
oldest_article = 7
max_articles_per_feed = 10
language = 'ru'
cover_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/SotaVision.png/600px-SotaVision.png'
auto_cleanup = False
no_stylesheets = True
remove_tags_before = dict(name='h1')
remove_tags_after = dict(name='span', attrs={'style': 'border-color:#EBEBEB;border-width:1px;width:100%;'})
remove_tags = [
dict(name='div', attrs={'class': 'td_block_wrap tdb_mobile_menu tdi_7 td-pb-border-top td_block_template_1 tdb-header-align'}),
dict(name='div', attrs={'class': 'td_block_wrap tdb_single_author tdi_52 td-pb-border-top td_block_template_1 tdb-post-meta'}),
dict(name='div', attrs={'class': 'td_block_wrap tdb_single_date tdi_53 td-pb-border-top td_block_template_1 tdb-post-meta'}),
dict(name='div', attrs={'class': 'td_block_wrap tdb_single_post_views tdi_54 td-pb-border-top td_block_template_1 tdb-post-meta'}),
dict(name='div', attrs={'class': 'td_block_wrap tdb_single_post_share tdi_55 td-pb-border-top td_block_template_1'}),
dict(name='div', attrs={'class': 'td-post-sharing-visible'}),
]
feeds = [
('\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B', 'https://sotavision.world/feed/'),
('\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://sotavision.world/category/news/feed/'),
('\u0418\u0441\u0442\u043E\u0440\u0438\u0438', 'https://sotavision.world/category/stories/feed/'),
('\u0412\u0438\u0434\u0435\u043E', 'https://sotavision.world/category/videos/feed/'),
('\u0424\u043E\u0442\u043E', 'https://sotavision.world/category/photos/feed/'),
('\u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0438', 'https://sotavision.world/category/projects/feed/'),
('\u041C\u043D\u0435\u043D\u0438\u044F', 'https://sotavision.world/category/opinions/feed/'),
]

41
recipes/zerkalo.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 Zerkalo(BasicNewsRecipe):
title = u'\u0417\u0435\u0440\u043A\u0430\u043B\u043E'
description = u'\u0417\u0435\u0440\u043A\u0430\u043B\u043E, \u043F\u0440\u043E\u0435\u043A\u0442 \u0447\u0430\u0441\u0442\u0438 \u0431\u044B\u0432\u0448\u0435\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B TUT.BY.' # noqa
__author__ = 'bugmen00t'
publisher = '\u0417\u0435\u0440\u043A\u0430\u043B\u043E (zerkalo.io)'
publication_type = 'news'
oldest_article = 7
max_articles_per_feed = 100
language = 'ru_BE'
cover_url = 'https://upload.wikimedia.org/wikipedia/commons/c/c7/Zerkalo.io.png'
auto_cleanup = False
no_stylesheets = False
remove_tags_before = dict(name='h1')
remove_tags_after = dict(name='div', attrs={'id': 'article_body'})
remove_tags = [
dict(name='div', attrs={'class': 'b-addition m-single m-simplify'}),
dict(name='div', attrs={'class': 'b-addition m-simplify'}),
dict(name='iframe'),
]
feeds = [
#
# Original feeds
#
# ('\u041D\u043E\u0432\u043E\u0441\u0442\u0438 \u0437\u0430 \u0434\u0435\u043D\u044C', 'https://news.zerkalo.io/rss/all.rss'),
# ('\u041D\u043E\u0432\u043E\u0441\u0442\u0438 \u043D\u0435\u0434\u0435\u043B\u0438', 'https://news.zerkalo.io/rss/index.rss'),
#
# Censorship bypass
#
('\u041D\u043E\u0432\u043E\u0441\u0442\u0438 \u0437\u0430 \u0434\u0435\u043D\u044C', 'https://br0wse-zerkalo.site/news/rss/all.rss'),
('\u041D\u043E\u0432\u043E\u0441\u0442\u0438 \u043D\u0435\u0434\u0435\u043B\u0438', 'https://br0wse-zerkalo.site/news/rss/index.rss'),
]