mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
more russian and ukranian news sources by bugmen00t
This commit is contained in:
parent
51d8e95557
commit
63b0f79b46
46
recipes/grani.recipe
Normal file
46
recipes/grani.recipe
Normal file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
|
||||
class Grani(BasicNewsRecipe):
|
||||
title = '\u0413\u0440\u0430\u043D\u0438.\u0420\u0443'
|
||||
__author__ = 'bugmen00t'
|
||||
description = '\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0433\u0430\u0437\u0435\u0442\u0430. \u041E\u0431\u0437\u043E\u0440\u044B \u0438 \u0430\u043D\u0430\u043B\u0438\u0437 \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u0438\u0445 \u0438 \u043C\u0438\u0440\u043E\u0432\u044B\u0445 \u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u043E\u0431\u044B\u0442\u0438\u0439, \u0441\u0442\u0430\u0442\u044C\u0438 \u0438 \u0432\u0438\u0434\u0435\u043E \u043E \u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0437\u0430\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0445.' # noqa
|
||||
publisher = '\u041E\u041E\u041E "\u0424\u043B\u0430\u0432\u0443\u0441"'
|
||||
category = 'newspaper'
|
||||
cover_url = u'https://graniru.org/files/96172.png'
|
||||
language = 'ru'
|
||||
no_stylesheets = False
|
||||
remove_javascript = False
|
||||
auto_cleanup = False
|
||||
remove_empty_feeds = True
|
||||
oldest_article = 30
|
||||
max_articles_per_feed = 50
|
||||
|
||||
remove_tags_before = dict(name='h3')
|
||||
|
||||
remove_tags_after = dict(name='div', attrs={'class': 'main-text clearfix'}),
|
||||
|
||||
# Original feeds
|
||||
# feeds = [
|
||||
# ('\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B', 'https://graniru.org/export/all-atom.xml'),
|
||||
# ('\u0421\u0442\u0430\u0442\u044C\u0438', 'https://graniru.org/export/articles-atom.xml')
|
||||
# ]
|
||||
|
||||
# Feeds from mirror site
|
||||
feeds = [
|
||||
(
|
||||
'\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B',
|
||||
'https://grani2.appspot.com/export/all-atom.xml'
|
||||
),
|
||||
(
|
||||
'\u0421\u0442\u0430\u0442\u044C\u0438',
|
||||
'https://grani2.appspot.com/export/articles-atom.xml'
|
||||
),
|
||||
]
|
||||
|
||||
# Mirror site feeds transformation
|
||||
def print_version(self, url):
|
||||
return url.replace('https://graniru.org/', 'https://grani2.appspot.com/')
|
BIN
recipes/icons/grani.png
Normal file
BIN
recipes/icons/grani.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 208 B |
BIN
recipes/icons/takiedela.png
Normal file
BIN
recipes/icons/takiedela.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
recipes/icons/tst.png
Normal file
BIN
recipes/icons/tst.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
BIN
recipes/icons/zn_ru.png
Normal file
BIN
recipes/icons/zn_ru.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 492 B |
BIN
recipes/icons/zn_ua.png
Normal file
BIN
recipes/icons/zn_ua.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 492 B |
227
recipes/takiedela.recipe
Normal file
227
recipes/takiedela.recipe
Normal file
@ -0,0 +1,227 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
|
||||
class TakieDela(BasicNewsRecipe):
|
||||
title = '\u0422\u0430\u043A\u0438\u0435 \u0434\u0435\u043B\u0430'
|
||||
__author__ = 'bugmen00t'
|
||||
description = '\u0418\u0437\u0434\u0430\u043D\u0438\u0435 \u00AB\u0422\u0430\u043A\u0438\u0435 \u0434\u0435\u043B\u0430\u00BB \u043E\u0441\u0432\u0435\u0449\u0430\u0435\u0442 \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B, \u043F\u0438\u0448\u0435\u0442 \u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430\u0445 \u043B\u044E\u0434\u0435\u0439 \u0441 \u0440\u0435\u0434\u043A\u0438\u043C\u0438 \u0437\u0430\u0431\u043E\u043B\u0435\u0432\u0430\u043D\u0438\u044F\u043C\u0438 \u0438 \u0438\u043D\u0432\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C\u044E, \u043E \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0438 \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0439 \u043C\u0435\u0434\u0438\u0446\u0438\u043D\u044B, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043E \u0431\u043B\u0430\u0433\u043E\u0442\u0432\u043E\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438 \u0438 \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0439 \u043E\u0431\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 \u0432 \u0420\u043E\u0441\u0441\u0438\u0438. \u0422\u0430\u043A\u0436\u0435 \u0438\u0437\u0434\u0430\u043D\u0438\u0435 \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441 \u043D\u0435\u043A\u043E\u043C\u043C\u0435\u0440\u0447\u0435\u0441\u043A\u0438\u043C\u0438 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044F\u043C\u0438, \u0441\u043E\u0431\u0438\u0440\u0430\u044F \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043E \u0431\u043B\u0430\u0433\u043E\u0442\u0432\u043E\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0440\u043E\u0435\u043A\u0442\u0430\u0445, \u0438 \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442\u0441\u044F \u0441\u0431\u043E\u0440\u043E\u043C \u0441\u0440\u0435\u0434\u0441\u0442\u0432 (\u043A\u0440\u0430\u0443\u0434\u0444\u0430\u043D\u0434\u0438\u043D\u0433\u043E\u043C) \u0434\u043B\u044F \u0444\u043E\u043D\u0434\u0430 \u00AB\u041D\u0443\u0436\u043D\u0430 \u043F\u043E\u043C\u043E\u0449\u044C\u00BB.' # noqa
|
||||
publisher = '\u0411\u043B\u0430\u0433\u043E\u0442\u0432\u043E\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0444\u043E\u043D\u0434 \u00AB\u041D\u0443\u0436\u043D\u0430 \u041F\u043E\u043C\u043E\u0449\u044C\u00BB' # noqa
|
||||
category = 'blog'
|
||||
cover_url = u'https://takiedela.ru/wp-content/themes/takiedela/assets/image/share/td.jpg'
|
||||
language = 'ru'
|
||||
no_stylesheets = False
|
||||
remove_javascript = False
|
||||
auto_cleanup = False
|
||||
remove_empty_feeds = True
|
||||
oldest_article = 30
|
||||
max_articles_per_feed = 10
|
||||
|
||||
remove_tags_before = dict(name='header')
|
||||
|
||||
remove_tags_after = dict(name='article')
|
||||
|
||||
remove_tags = [
|
||||
dict(
|
||||
name='section',
|
||||
attrs={
|
||||
'class':
|
||||
'b-post__materials b-line b-line_p-60 b-line_grey b-line_nomb'
|
||||
}
|
||||
),
|
||||
dict(
|
||||
name='section',
|
||||
attrs={
|
||||
'class':
|
||||
'b-post-material__other b-line b-line_p-60 b-line_bg b-line_nomb'
|
||||
}
|
||||
),
|
||||
dict(name='div', attrs={'class': 'b-single__case-closed'}),
|
||||
dict(name='div', attrs={'class': 'b-line b-total-sum'}),
|
||||
dict(
|
||||
name='section',
|
||||
attrs={
|
||||
'class':
|
||||
'b-post-material__help b-line b-line_p-60 b-line_grey b-line_nomb'
|
||||
}
|
||||
),
|
||||
dict(
|
||||
name='section',
|
||||
attrs={'class': 'b-line b-line_p-60 b-line_bg b-line_nopb b-line_nomb '}
|
||||
),
|
||||
dict(name='header', attrs={'class': 'np-header js-np-header'}),
|
||||
dict(
|
||||
name='div',
|
||||
attrs={
|
||||
'class':
|
||||
'b-post__head-info__block b-post__head-info__block_views in-tablet'
|
||||
}
|
||||
),
|
||||
dict(
|
||||
name='div',
|
||||
attrs={'class': 'np-donate-form__bg np-donate-form__bg_border'}
|
||||
),
|
||||
dict(name='div', attrs={'class': 'b-photostory-help i-photostory-help'}),
|
||||
dict(name='div', attrs={'class': 'mistape_caption'}),
|
||||
dict(name='div', attrs={'class': 'b-photostory__inner'}),
|
||||
dict(name='div', attrs={'class': 'b-single__extra i-single__extra'}),
|
||||
dict(name='div', attrs={'class': 'b-post__help'}),
|
||||
dict(name='div', attrs={'class': 'b-post__other b-post__other_right'}),
|
||||
dict(name='div', attrs={'class': 'b-soc i-soc b-soc_blog b-soc_noscroll'}),
|
||||
dict(
|
||||
name='div', attrs={'class': 'np-socials np-socials_grid js-np-socials'}
|
||||
),
|
||||
dict(name='ul', attrs={'class': 'b-post__head-tags in-tablet-sm'}),
|
||||
dict(name='ul', attrs={'class': 'b-single__text__categories'}),
|
||||
dict(name='div', attrs={'class': 'b-donate-info js-donate-info'}),
|
||||
dict(name='div', attrs={'class': 'b-404__materials b-line b-line_grey'}),
|
||||
dict(name='div', attrs={'class': 'b-404__funds b-line'}),
|
||||
dict(name='div', attrs={'class': 'overlay'}),
|
||||
dict(name='div', attrs={'class': 'b-help-info-sticky'}),
|
||||
dict(name='div', attrs={'id': 'mistape_dialog'}),
|
||||
dict(name='footer'),
|
||||
dict(name='form', attrs={'id': 'help'}),
|
||||
dict(name='form', attrs={'id': 'form-3dsecure'})
|
||||
]
|
||||
|
||||
feeds = [
|
||||
(
|
||||
'\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B',
|
||||
'https://takiedela.ru/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u043E\u043C\u043E\u0433\u0430\u0435\u043C',
|
||||
'https://takiedela.ru/topics/feed/'
|
||||
),
|
||||
(
|
||||
'\u041A\u043E\u043B\u043E\u043D\u043A\u0438',
|
||||
'https://takiedela.ru/rubrics/columns/feed/'
|
||||
),
|
||||
(
|
||||
'\u041E\u0431\u044A\u044F\u0441\u043D\u0435\u043D\u0438\u044F',
|
||||
'https://takiedela.ru/rubrics/explanations/feed/'
|
||||
),
|
||||
(
|
||||
'\u0424\u043E\u0442\u043E\u0438\u0441\u0442\u043E\u0440\u0438\u0438',
|
||||
'https://takiedela.ru/rubrics/photo/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u043E\u0440\u0442\u0440\u0435\u0442\u044B',
|
||||
'https://takiedela.ru/rubrics/portret/feed/'
|
||||
),
|
||||
(
|
||||
'\u0420\u0430\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F',
|
||||
'https://takiedela.ru/rubrics/rassledovaniya/feed/'
|
||||
),
|
||||
(
|
||||
'\u0421\u043B\u0443\u0447\u0430\u0438',
|
||||
'https://takiedela.ru/genre/cases/feed/'
|
||||
),
|
||||
(
|
||||
'\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442',
|
||||
'https://takiedela.ru/genre/context/feed/'
|
||||
),
|
||||
('\u0414\u0440\u0430\u043C\u044B', 'https://takiedela.ru/genre/drama/feed/'),
|
||||
(
|
||||
'\u0413\u0435\u0440\u043E\u0438',
|
||||
'https://takiedela.ru/genre/heroes/feed/'
|
||||
),
|
||||
(
|
||||
'\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u043D\u0430\u0441\u043B\u0435\u0434\u0438\u044F \u0438 \u0438\u0441\u0442\u043E\u0440\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043F\u0430\u043C\u044F\u0442\u0438', # noqa
|
||||
'https://takiedela.ru/category/cultural/feed/'
|
||||
),
|
||||
(
|
||||
'\u0414\u0435\u0442\u0441\u0442\u0432\u043E',
|
||||
'https://takiedela.ru/category/deti/feed/'
|
||||
),
|
||||
(
|
||||
'\u0414\u0435\u0442\u0438 \u0441 \u043E\u0441\u043E\u0431\u0435\u043D\u043D\u043E\u0441\u0442\u044F\u043C\u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044F', # noqa
|
||||
'https://takiedela.ru/category/deti-s-osobennostyami-razvitiya/feed/'
|
||||
),
|
||||
(
|
||||
'\u0414\u0435\u0442\u0441\u043A\u0438\u0439 \u0434\u043E\u043C',
|
||||
'https://takiedela.ru/category/detskiy-dom/feed/'
|
||||
),
|
||||
(
|
||||
'\u041A\u0430\u0442\u0430\u0441\u0442\u0440\u043E\u0444\u044B \u0438 \u0441\u0442\u0438\u0445\u0438\u0439\u043D\u044B\u0435 \u0431\u0435\u0434\u0441\u0442\u0432\u0438\u044F', # noqa
|
||||
'https://takiedela.ru/category/disaster/feed/'
|
||||
),
|
||||
(
|
||||
'\u0425\u0440\u043E\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0438 \u043D\u0435\u0438\u0437\u043B\u0435\u0447\u0438\u043C\u044B\u0435 \u0437\u0430\u0431\u043E\u043B\u0435\u0432\u0430\u043D\u0438\u044F', # noqa
|
||||
'https://takiedela.ru/category/illness/feed/'
|
||||
),
|
||||
(
|
||||
'\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043A\u0443\u043B\u044C\u0442\u0443\u0440\u044B \u0438 \u0438\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u0430', # noqa
|
||||
'https://takiedela.ru/category/kultura/feed/'
|
||||
),
|
||||
(
|
||||
'\u041C\u0430\u0442\u0435\u0440\u0438 \u0438 \u0434\u0435\u0442\u0438',
|
||||
'https://takiedela.ru/category/materi-i-deti/feed/'
|
||||
),
|
||||
(
|
||||
'\u041C\u0435\u0434\u0438\u0446\u0438\u043D\u0441\u043A\u0430\u044F \u043F\u043E\u043C\u043E\u0449\u044C',
|
||||
'https://takiedela.ru/category/medical/feed/'
|
||||
),
|
||||
(
|
||||
'\u041C\u0435\u0434\u0438\u0446\u0438\u043D\u0430',
|
||||
'https://takiedela.ru/category/medicina/feed/'
|
||||
),
|
||||
(
|
||||
'\u041B\u0413\u0411\u0422+',
|
||||
'https://takiedela.ru/category/minorities/feed/'
|
||||
),
|
||||
(
|
||||
'\u041E\u0431\u0449\u0435\u0441\u0442\u0432\u043E',
|
||||
'https://takiedela.ru/category/obshhestvo/feed/'
|
||||
),
|
||||
(
|
||||
'\u041E\u043D\u043A\u043E\u043B\u043E\u0433\u0438\u044F',
|
||||
'https://takiedela.ru/category/onkologiya/feed/'
|
||||
),
|
||||
(
|
||||
'\u0421\u0438\u0440\u043E\u0442\u0441\u0442\u0432\u043E',
|
||||
'https://takiedela.ru/category/orphan/feed/'
|
||||
),
|
||||
(
|
||||
'\u0414\u0440\u0443\u0433\u043E\u0435',
|
||||
'https://takiedela.ru/category/other/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u043E\u043B\u0438\u0446\u0438\u044F',
|
||||
'https://takiedela.ru/category/policiya/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u0440\u0430\u0432\u043E\u0437\u0430\u0449\u0438\u0442\u0430',
|
||||
'https://takiedela.ru/category/pravozashhita/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u0441\u0438\u0445\u043E\u043B\u043E\u0433\u0438\u044F',
|
||||
'https://takiedela.ru/category/psikhologiya/feed/'
|
||||
),
|
||||
(
|
||||
'\u0416\u0435\u0440\u0442\u0432\u044B \u043D\u0430\u0441\u0438\u043B\u0438\u044F',
|
||||
'https://takiedela.ru/category/rape/feed/'
|
||||
),
|
||||
(
|
||||
'\u0416\u0435\u0440\u0442\u0432\u044B \u0432\u043E\u0435\u043D\u043D\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439',
|
||||
'https://takiedela.ru/category/victims-of-war/feed/'
|
||||
),
|
||||
(
|
||||
'\u042D\u043A\u043E\u043B\u043E\u0433\u0438\u044F',
|
||||
'https://takiedela.ru/category/yekologiya/feed/'
|
||||
),
|
||||
(
|
||||
'\u042E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043F\u043E\u043C\u043E\u0449\u044C',
|
||||
'https://takiedela.ru/category/yuridicheskaya-pomoshh/feed/'
|
||||
),
|
||||
(
|
||||
'\u0416\u0435\u043D\u0449\u0438\u043D\u044B',
|
||||
'https://takiedela.ru/category/zhenshhiny/feed/'
|
||||
),
|
||||
(
|
||||
'\u0416\u0438\u0432\u043E\u0442\u043D\u044B\u0435',
|
||||
'https://takiedela.ru/category/zhivotnye/feed/'
|
||||
)
|
||||
]
|
312
recipes/tst.recipe
Normal file
312
recipes/tst.recipe
Normal file
@ -0,0 +1,312 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
|
||||
class Teplitsa(BasicNewsRecipe):
|
||||
title = '\u0422\u0435\u043F\u043B\u0438\u0446\u0430 \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0439' # noqa
|
||||
__author__ = 'bugmen00t'
|
||||
description = '\u0422\u0435\u043F\u043B\u0438\u0446\u0430 \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0439 \u2014 \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u044B\u0439 \u043F\u0440\u043E\u0441\u0432\u0435\u0442\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044E\u0449\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442, \u043C\u0438\u0441\u0441\u0438\u044F \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u2014 \u0443\u0441\u0438\u043B\u0438\u0442\u044C \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0435 \u0433\u0440\u0430\u0436\u0434\u0430\u043D\u0441\u043A\u043E\u0435 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u043E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0439.' # noqa
|
||||
publisher = '\u0410\u041D\u041E \u00AB\u0410\u0433\u0435\u043D\u0442\u0441\u0442\u0432\u043E \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438\u00BB' # noqa
|
||||
category = 'blog'
|
||||
cover_url = u'https://te-st.ru/wp-content/uploads/2014/05/logo_test.png'
|
||||
language = 'ru'
|
||||
no_stylesheets = False
|
||||
remove_javascript = False
|
||||
auto_cleanup = False
|
||||
remove_empty_feeds = True
|
||||
oldest_article = 30
|
||||
max_articles_per_feed = 15
|
||||
|
||||
remove_tags_before = dict(name='h1')
|
||||
|
||||
remove_tags_after = dict(name='article')
|
||||
|
||||
remove_tags = [
|
||||
dict(name='div', attrs={'class': 'post-reading-time'}),
|
||||
dict(name='div', attrs={'class': 'read-more'}),
|
||||
dict(name='p', attrs={'class': 'author-name'}),
|
||||
dict(name='p', attrs={'class': 'author-about'}),
|
||||
dict(name='footer')
|
||||
]
|
||||
|
||||
feeds = [
|
||||
(
|
||||
'\u0412\u0441\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B',
|
||||
'https://te-st.ru/feed'
|
||||
),
|
||||
(
|
||||
'\u0416\u0443\u0440\u043D\u0430\u043B',
|
||||
'https://te-st.ru/section/journal/feed/'
|
||||
),
|
||||
(
|
||||
'\u041F\u0440\u0430\u043A\u0442\u0438\u043A\u0430',
|
||||
'https://te-st.ru/section/practice/feed/'
|
||||
),
|
||||
(
|
||||
'\u0412\u0441\u0442\u0440\u0435\u0447\u0438',
|
||||
'https://te-st.ru/section/events/feed/'
|
||||
),
|
||||
('\u0410\u0440\u0445\u0438\u0432', 'https://te-st.ru/section/archive/feed/'),
|
||||
(
|
||||
'\u041D\u043E\u0432\u043E\u0441\u0442\u044C',
|
||||
'https://te-st.ru/format/news-2/feed/'
|
||||
),
|
||||
(
|
||||
'\u0421\u0442\u0430\u0442\u044C\u0438',
|
||||
'https://te-st.ru/format/article/feed/'
|
||||
),
|
||||
(
|
||||
'\u0418\u043D\u0442\u0435\u0440\u0432\u044C\u044E',
|
||||
'https://te-st.ru/format/interview/feed/'
|
||||
), ('\u041A\u0435\u0439\u0441\u044B', 'https://te-st.ru/format/case/feed/'),
|
||||
(
|
||||
'\u0421\u043F\u0438\u0441\u043A\u0438',
|
||||
'https://te-st.ru/format/list/feed/'
|
||||
),
|
||||
(
|
||||
'\u0418\u0441\u0442\u043E\u0440\u0438\u0438',
|
||||
'https://te-st.ru/format/story/feed/'
|
||||
),
|
||||
(
|
||||
'\u0418\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0438',
|
||||
'https://te-st.ru/format/guide/feed/'
|
||||
),
|
||||
(
|
||||
'\u041E\u0431\u0437\u043E\u0440\u044B',
|
||||
'https://te-st.ru/format/overview/feed/'
|
||||
),
|
||||
(
|
||||
'\u0410\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430',
|
||||
'https://te-st.ru/tag/analytics/feed'
|
||||
),
|
||||
(
|
||||
'\u0410\u043D\u0442\u0438\u0432\u043E\u0435\u043D\u043D\u044B\u0435 \u043A\u0430\u043C\u043F\u0430\u043D\u0438\u0438',
|
||||
'https://te-st.ru/tag/antivoennye-kampanii/feed'
|
||||
),
|
||||
(
|
||||
'\u0411\u043B\u043E\u043A\u0447\u0435\u0439\u043D',
|
||||
'https://te-st.ru/tag/blockchain/feed'
|
||||
),
|
||||
(
|
||||
'\u0411\u043E\u0440\u044C\u0431\u0430 \u0441 \u0431\u0435\u0434\u043D\u043E\u0441\u0442\u044C\u044E',
|
||||
'https://te-st.ru/tag/poverty/feed'
|
||||
),
|
||||
(
|
||||
'\u0412\u0430\u043A\u0430\u043D\u0441\u0438\u0438 \u0432 \u041D\u041A\u041E',
|
||||
'https://te-st.ru/tag/vacancies/feed'
|
||||
),
|
||||
(
|
||||
'\u0412\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F',
|
||||
'https://te-st.ru/tag/visualization/feed'
|
||||
),
|
||||
(
|
||||
'\u0413\u0435\u043D\u0434\u0435\u0440\u043D\u043E\u0435 \u043D\u0430\u0441\u0438\u043B\u0438\u0435',
|
||||
'https://te-st.ru/tag/gender-violence/feed'
|
||||
),
|
||||
(
|
||||
'\u0413\u0440\u0430\u0436\u0434\u0430\u043D\u0441\u043A\u0438\u0435 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438',
|
||||
'https://te-st.ru/tag/civictech/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u043C\u043F\u0430\u043A\u0442-\u0438\u043D\u0432\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435',
|
||||
'https://te-st.ru/tag/impact-investing/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u043D\u043A\u043B\u044E\u0437\u0438\u0432\u043D\u044B\u0439 \u0434\u0438\u0437\u0430\u0439\u043D',
|
||||
'https://te-st.ru/tag/inclusive-design/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F',
|
||||
'https://te-st.ru/tag/tools/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u043D\u0444\u043E\u0431\u0438\u0437\u043D\u0435\u0441',
|
||||
'https://te-st.ru/tag/infobusiness/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u041D\u041A\u041E',
|
||||
'https://te-st.ru/tag/research/feed'
|
||||
),
|
||||
(
|
||||
'\u0418\u0442\u043E\u0433\u0438 \u0433\u043E\u0434\u0430',
|
||||
'https://te-st.ru/tag/results-of-the-year/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u0430\u043D\u0434\u0438\u043D\u0441\u043A\u0438\u0439',
|
||||
'https://te-st.ru/tag/kandinsky/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u0430\u0440\u0442\u044B \u0438 \u043A\u0430\u0440\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u044F',
|
||||
'https://te-st.ru/tag/maps/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u043E\u043C\u043C\u0443\u043D\u0438\u043A\u0430\u0446\u0438\u044F',
|
||||
'https://te-st.ru/tag/discussion/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u043E\u0440\u043E\u043D\u0430\u0432\u0438\u0440\u0443\u0441',
|
||||
'https://te-st.ru/tag/coronavirus/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u0440\u0430\u0443\u0434\u0441\u043E\u0440\u0441\u0438\u043D\u0433',
|
||||
'https://te-st.ru/tag/crowdsourcing/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u0440\u0430\u0443\u0434\u0444\u0430\u043D\u0434\u0438\u043D\u0433',
|
||||
'https://te-st.ru/tag/crowdfunding/feed'
|
||||
),
|
||||
(
|
||||
'\u041A\u0443\u043B\u044C\u0442\u0443\u0440\u0430 \u0438 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438',
|
||||
'https://te-st.ru/tag/tech-culture/feed'
|
||||
),
|
||||
(
|
||||
'\u041B\u0430\u0431\u043E\u0440\u0430\u0442\u043E\u0440\u0438\u044F',
|
||||
'https://te-st.ru/tag/laboratory/feed'
|
||||
),
|
||||
(
|
||||
'\u041B\u0438\u0434\u0435\u0440\u0441\u0442\u0432\u043E',
|
||||
'https://te-st.ru/tag/leadership/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u0430\u0440\u043A\u0435\u0442\u0438\u043D\u0433',
|
||||
'https://te-st.ru/tag/marketing/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u0430\u0448\u0438\u043D\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435',
|
||||
'https://te-st.ru/tag/machine-learning/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u0435\u0434\u0438\u0446\u0438\u043D\u0441\u043A\u0438\u0435 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438',
|
||||
'https://te-st.ru/tag/medtech/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u0435\u043D\u0435\u0434\u0436\u043C\u0435\u043D\u0442',
|
||||
'https://te-st.ru/tag/management/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u044B',
|
||||
'https://te-st.ru/tag/messengers/feed'
|
||||
),
|
||||
(
|
||||
'\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u044F',
|
||||
'https://te-st.ru/tag/mobile/feed'
|
||||
),
|
||||
(
|
||||
'\u041E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0435 \u043A\u0430\u043C\u043F\u0430\u043D\u0438\u0438',
|
||||
'https://te-st.ru/tag/campaigning/feed'
|
||||
),
|
||||
(
|
||||
'\u041E\u043D\u043B\u0430\u0439\u043D-\u041B\u0435\u0439\u043A\u0430',
|
||||
'https://te-st.ru/tag/online-leyka/feed'
|
||||
),
|
||||
(
|
||||
'\u041E\u043D\u043B\u0430\u0439\u043D-\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435',
|
||||
'https://te-st.ru/tag/education-online/feed'
|
||||
),
|
||||
(
|
||||
'\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435',
|
||||
'https://te-st.ru/tag/open-data/feed'
|
||||
),
|
||||
(
|
||||
'\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 \u043A\u043E\u0434',
|
||||
'https://te-st.ru/tag/opensource/feed'
|
||||
),
|
||||
('\u041F\u0430\u0441\u0435\u043A\u0430', 'https://te-st.ru/tag/paseka/feed'),
|
||||
(
|
||||
'\u041F\u0440\u0430\u0432\u043E\u0432\u0430\u044F \u0431\u0430\u0437\u0430',
|
||||
'https://te-st.ru/tag/regulations/feed'
|
||||
),
|
||||
(
|
||||
'\u041F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435',
|
||||
'https://te-st.ru/tag/programming/feed'
|
||||
),
|
||||
(
|
||||
'\u0420\u0435\u043B\u0438\u0437\u044B \u00AB\u041B\u0435\u0439\u043A\u0438\u00BB',
|
||||
'https://te-st.ru/tag/leyka-release/feed'
|
||||
),
|
||||
(
|
||||
'\u0421\u0435\u043D\u0441\u043E\u0440\u044B',
|
||||
'https://te-st.ru/tag/sensors/feed'
|
||||
),
|
||||
(
|
||||
'\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0432\u0438\u0434\u0435\u043E',
|
||||
'https://te-st.ru/tag/video/feed'
|
||||
),
|
||||
(
|
||||
'\u0421\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u043E-\u043E\u0440\u0438\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u0438\u0437\u0430\u0439\u043D', # noqa
|
||||
'https://te-st.ru/tag/responsible-design/feed'
|
||||
),
|
||||
(
|
||||
'\u0421\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0435\u0434\u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u043E', # noqa
|
||||
'https://te-st.ru/tag/social-entrepreneurship/feed'
|
||||
),
|
||||
(
|
||||
'\u0421\u0442\u0430\u0440\u0442\u0430\u043F\u044B',
|
||||
'https://te-st.ru/tag/startups/feed'
|
||||
),
|
||||
(
|
||||
'\u0422\u0435\u043F\u043B\u0438\u0446\u0430.\u041A\u0443\u0440\u0441\u044B',
|
||||
'https://te-st.ru/tag/teplitsa-kursy/feed'
|
||||
),
|
||||
(
|
||||
'\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438 \u0432 \u0431\u043E\u0440\u044C\u0431\u0435 \u0441 \u0440\u0430\u043A\u043E\u043C',
|
||||
'https://te-st.ru/tag/cancer/feed'
|
||||
),
|
||||
(
|
||||
'\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438 \u0434\u043B\u044F \u043F\u043E\u0436\u0438\u043B\u044B\u0445',
|
||||
'https://te-st.ru/tag/itforelderly/feed'
|
||||
), ('\u0422\u043E\u043A\u0438\u043E', 'https://te-st.ru/tag/tokio/feed'),
|
||||
(
|
||||
'\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u0430\u044F \u0440\u0430\u0431\u043E\u0442\u0430',
|
||||
'https://te-st.ru/tag/remote-work/feed'
|
||||
),
|
||||
(
|
||||
'\u0424\u0430\u043D\u0434\u0440\u0430\u0439\u0437\u0438\u043D\u0433',
|
||||
'https://te-st.ru/tag/fundraising/feed'
|
||||
),
|
||||
(
|
||||
'\u0424\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438',
|
||||
'https://te-st.ru/tag/photo/feed'
|
||||
),
|
||||
(
|
||||
'\u0426\u0438\u0444\u0440\u043E\u0432\u0430\u044F \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C',
|
||||
'https://te-st.ru/tag/digital-security/feed'
|
||||
),
|
||||
(
|
||||
'\u0426\u0438\u0444\u0440\u043E\u0432\u0430\u044F \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F',
|
||||
'https://te-st.ru/tag/digital-transformation/feed'
|
||||
),
|
||||
(
|
||||
'\u0426\u0438\u0444\u0440\u043E\u0432\u044B\u0435 \u043F\u0440\u0430\u0432\u0430',
|
||||
'https://te-st.ru/tag/digital-rights/feed'
|
||||
),
|
||||
(
|
||||
'\u0427\u0430\u0442-\u0431\u043E\u0442\u044B',
|
||||
'https://te-st.ru/tag/chatbots/feed'
|
||||
),
|
||||
(
|
||||
'\u042D\u043A\u043E\u043B\u043E\u0433\u0438\u044F',
|
||||
'https://te-st.ru/tag/ecology/feed'
|
||||
),
|
||||
(
|
||||
'\u042D\u0442\u0438\u043A\u0430 \u0432 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u044F\u0445',
|
||||
'https://te-st.ru/tag/ethics/feed'
|
||||
),
|
||||
(
|
||||
'IT-\u0432\u043E\u043B\u043E\u043D\u0442\u0435\u0440',
|
||||
'https://te-st.ru/tag/itv/feed'
|
||||
), ('Meet and code', 'https://te-st.ru/tag/meet-and-code/feed'),
|
||||
('PhilTech', 'https://te-st.ru/tag/philtech/feed'),
|
||||
('Scrum', 'https://te-st.ru/tag/scrum/feed'),
|
||||
('TeploDigital', 'https://te-st.ru/tag/teplodigital/feed'),
|
||||
(
|
||||
'UX/UI \u0434\u0438\u0437\u0430\u0439\u043D',
|
||||
'https://te-st.ru/tag/uxui/feed'
|
||||
),
|
||||
(
|
||||
'VR/AR \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438',
|
||||
'https://te-st.ru/tag/arvr/feed'
|
||||
), ('WordPress', 'https://te-st.ru/tag/wordpress/feed')
|
||||
]
|
50
recipes/zn_ru.recipe
Normal file
50
recipes/zn_ru.recipe
Normal file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
|
||||
class Zerkalo(BasicNewsRecipe):
|
||||
title = '\u0417\u0435\u0440\u043A\u0430\u043B\u043E \u043D\u0435\u0434\u0435\u043B\u0438. \u0423\u043A\u0440\u0430\u0438\u043D\u0430'
|
||||
__author__ = 'bugmen00t'
|
||||
description = '\u041E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E-\u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E-\u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A.' # noqa
|
||||
publisher = '\u00AB\u0417\u0435\u0440\u043A\u0430\u043B\u043E \u043D\u0435\u0434\u0435\u043B\u0438. \u0423\u043A\u0440\u0430\u0438\u043D\u0430\u00BB'
|
||||
category = 'newspaper'
|
||||
cover_url = u'https://zn.ua/user/img/zn_no_photo_amp.png'
|
||||
language = 'ru'
|
||||
no_stylesheets = False
|
||||
remove_javascript = False
|
||||
auto_cleanup = False
|
||||
remove_empty_feeds = True
|
||||
oldest_article = 7
|
||||
max_articles_per_feed = 200
|
||||
|
||||
remove_tags_before = dict(name='h1')
|
||||
|
||||
remove_tags_after = dict(name='div', attrs={'class': 'article_body'}),
|
||||
|
||||
remove_tags = [
|
||||
dict(name='span', attrs={'class': 'print print-art-js'}),
|
||||
dict(name='div', attrs={'class': 'questionnaire '}),
|
||||
dict(name='div', attrs={'class': 'nts-video-wrapper'}),
|
||||
dict(name='div', attrs={'class': 'telegram'}),
|
||||
dict(name='div', attrs={'class': 'mist_block'}),
|
||||
dict(name='div', attrs={'class': 'auth_articles_block'}),
|
||||
dict(name='div', attrs={'class': 'special_theme_news_block'}),
|
||||
dict(name='div', attrs={'class': 'article_attached acenter'}),
|
||||
dict(name='div', attrs={'class': 'article_left'}),
|
||||
dict(name='div', attrs={'class': 'top_social_holder'})
|
||||
]
|
||||
|
||||
feeds = [
|
||||
(
|
||||
'\u041D\u043E\u0432\u043E\u0441\u0442\u0438',
|
||||
'https://zn.ua/rus/rss/full.rss'
|
||||
),
|
||||
# ('\u0421\u0442\u0430\u0442\u044C\u0438', 'https://zn.ua/rus/rss/articles.rss')
|
||||
]
|
||||
|
||||
def preprocess_html(self, soup):
|
||||
for img in soup.findAll('img', attrs={'data-src': True}):
|
||||
img['src'] = img['data-src']
|
||||
return soup
|
47
recipes/zn_ua.recipe
Normal file
47
recipes/zn_ua.recipe
Normal file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
|
||||
class Zerkalo(BasicNewsRecipe):
|
||||
title = '\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u043E \u0442\u0438\u0436\u043D\u044F. \u0423\u043A\u0440\u0430\u0457\u043D\u0430'
|
||||
__author__ = 'bugmen00t'
|
||||
description = '\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0435 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0432\u0438\u0434\u0430\u043D\u043D\u044F, \u0441\u0443\u0441\u043F\u0456\u043B\u044C\u043D\u043E-\u043F\u043E\u043B\u0456\u0442\u0438\u0447\u043D\u0438\u0439 \u0442\u0438\u0436\u043D\u0435\u0432\u0438\u043A.' # noqa
|
||||
publisher = '\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u043E \u0442\u0438\u0436\u043D\u044F. \u0423\u043A\u0440\u0430\u0457\u043D\u0430'
|
||||
category = 'newspaper'
|
||||
cover_url = u'https://zn.ua/user/img/zn_no_photo_amp.png'
|
||||
language = 'uk'
|
||||
no_stylesheets = False
|
||||
remove_javascript = False
|
||||
auto_cleanup = False
|
||||
remove_empty_feeds = True
|
||||
oldest_article = 7
|
||||
max_articles_per_feed = 200
|
||||
|
||||
remove_tags_before = dict(name='h1')
|
||||
|
||||
remove_tags_after = dict(name='div', attrs={'class': 'article_body'}),
|
||||
|
||||
remove_tags = [
|
||||
dict(name='span', attrs={'class': 'print print-art-js'}),
|
||||
dict(name='div', attrs={'class': 'questionnaire '}),
|
||||
dict(name='div', attrs={'class': 'nts-video-wrapper'}),
|
||||
dict(name='div', attrs={'class': 'telegram'}),
|
||||
dict(name='div', attrs={'class': 'mist_block'}),
|
||||
dict(name='div', attrs={'class': 'auth_articles_block'}),
|
||||
dict(name='div', attrs={'class': 'special_theme_news_block'}),
|
||||
dict(name='div', attrs={'class': 'article_attached acenter'}),
|
||||
dict(name='div', attrs={'class': 'article_left'}),
|
||||
dict(name='div', attrs={'class': 'top_social_holder'})
|
||||
]
|
||||
|
||||
feeds = [
|
||||
('\u041D\u043E\u0432\u0438\u043D\u0438', 'https://zn.ua/ukr/rss/full.rss'),
|
||||
# ('\u0421\u0442\u0430\u0442\u0442\u0456', 'https://zn.ua/ukr/rss/articles.rss')
|
||||
]
|
||||
|
||||
def preprocess_html(self, soup):
|
||||
for img in soup.findAll('img', attrs={'data-src': True}):
|
||||
img['src'] = img['data-src']
|
||||
return soup
|
Loading…
x
Reference in New Issue
Block a user