Connoisseur
Posts: 82
Karma: 100000
Join Date: Aug 2015
Device: Kindle Keyboard 3G + Kindle Voyage WiFi + Kindle PW11 Kids WiFi
|
Russian Hi-Tech News: iXBT and 3DNews
Hello.
It's the lack of new Russian recipes, so I'd like to share a few that I made for myself. They're still a little bit raw and require some cleanup, and probably you'd like to limit oldest_article and max_articles_per_feed options to reduce file size.
iXBT - IT news, reviews and analytics
Code:
#!/usr/bin/env python2
# vim:fileencoding=utf-8
from __future__ import unicode_literals, division, absolute_import, print_function
from calibre.web.feeds.news import BasicNewsRecipe
class AdvancedUserRecipe1438446837(BasicNewsRecipe):
title = '3DNews: Daily Digital Digest'
description = 'Независимое российское онлайн-издание, посвященное цифровым технологиям'
publisher = '3DNews'
category = 'news'
cover_url = u'http://www.3dnews.ru/assets/images/logo.png'
language = 'ru'
auto_cleanup = True
oldest_article = 15
max_articles_per_feed = 60
feeds = [
('\u041d\u043e\u0432\u043e\u0441\u0442\u0438 Hardware', 'http://www.3dnews.ru/news/rss/'),
('\u041d\u043e\u0432\u043e\u0441\u0442\u0438 Software', 'http://www.3dnews.ru/software-news/rss/'),
('\u0423\u043c\u043d\u044b\u0435 \u0432\u0435\u0449\u0438', 'http://www.3dnews.ru/smart-things/rss/'),
('\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430', 'http://www.3dnews.ru/editorial/rss/'),
('\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b \u0438 \u043f\u0430\u043c\u044f\u0442\u044c', 'http://www.3dnews.ru/cpu/rss/'),
('\u041c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0435 \u043f\u043b\u0430\u0442\u044b', 'http://www.3dnews.ru/motherboard/rss/'),
('\u041a\u043e\u0440\u043f\u0443\u0441\u0430, \u0411\u041f \u0438 \u043e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435', 'http://www.3dnews.ru/cooling/rss/'),
('\u0412\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b', 'http://www.3dnews.ru/video/rss/'),
('\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u044b \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440\u044b', 'http://www.3dnews.ru/display/rss/'),
('\u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0438', 'http://www.3dnews.ru/storage/rss/'),
('\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c', 'http://www.3dnews.ru/auto/rss/'),
('\u0421\u043e\u0442\u043e\u0432\u0430\u044f \u0441\u0432\u044f\u0437\u044c', 'http://www.3dnews.ru/phone/rss/'),
('\u041f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044f', 'http://www.3dnews.ru/peripheral/rss/'),
('\u041d\u043e\u0443\u0442\u0431\u0443\u043a\u0438 \u0438 \u041f\u041a', 'http://www.3dnews.ru/mobile/rss/'),
('\u041f\u043b\u0430\u043d\u0448\u0435\u0442\u044b', 'http://www.3dnews.ru/tablets/rss/'),
('\u0417\u0432\u0443\u043a \u0438 \u0430\u043a\u0443\u0441\u0442\u0438\u043a\u0430', 'http://www.3dnews.ru/multimedia/rss/'),
('\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0435 \u0444\u043e\u0442\u043e \u0438 \u0432\u0438\u0434\u0435\u043e', 'http://www.3dnews.ru/digital/rss/'),
('\u0421\u0435\u0442\u0438 \u0438 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0438', 'http://www.3dnews.ru/communication/rss/'),
('\u0418\u0433\u0440\u044b', 'http://www.3dnews.ru/games/rss/'),
('\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435', 'http://www.3dnews.ru/software/rss/'),
('Off-\u0441\u044f\u043d\u043a\u0430', 'http://www.3dnews.ru/offsyanka/rss/'),
('\u041c\u0430\u0441\u0442\u0435\u0440\u0441\u043a\u0430\u044f', 'http://www.3dnews.ru/workshop/rss/'),
('ServerNews', 'http://servernews.ru/rss'),
]
def print_version(self, url):
return url.replace('/?full', 'print')
def print_version(self, url):
return url.replace('/?feed', 'print')
remove_tags_before = dict(name='div', attrs={'class':'article-entry'})
remove_tags_after = dict(name='div', attrs={'class':'article-entry'})
3DNews: Digital Daily Digest
Code:
#!/usr/bin/env python2
# vim:fileencoding=utf-8
from __future__ import unicode_literals, division, absolute_import, print_function
from calibre.web.feeds.news import BasicNewsRecipe
class AdvancedUserRecipe1438255077(BasicNewsRecipe):
title = 'iXBT.com'
description = 'Специализированный российский информационно-аналитический сайт с самыми актуальными новостями из сферы IT, детальными обзорами смартфонов, планшетов, персональных компьютеров, компьютерных комплектующих, программного обеспечения и периферийных устройств'
publisher = 'www.ixbt.com'
category = 'news'
cover_url = u'http://www.ixbt.com/pic/articles/logo.png'
language = 'ru'
auto_cleanup = True
oldest_article = 30
max_articles_per_feed = 100
feeds = [(u'Новые статьи', u'http://www.ixbt.com/export/articles.rss'),
(u'Новости', u'http://www.ixbt.com/export/news.rss'),
(u'Новости железа', u'http://www.ixbt.com/export/hardnews.rss'),
(u'Новости ПО', u'http://www.ixbt.com/export/softnews.rss'),
(u'Новости DVD и домашних кинотеатров', u'http://www.ixbt.com/export/dvdnews.rss'),
(u'Новости Apple', u'http://www.ixbt.com/export/applenews.rss'),
(u'Процессоры и системы охлаждения', u'http://www.ixbt.com/export/sec_cpu.rss'),
(u'Системные платы, память и чипсеты', u'http://www.ixbt.com/export/sec_mainboard.rss'),
(u'3D-Видео', u'http://www.ixbt.com/export/sec_video.rss'),
(u'Сети и Серверы', u'http://www.ixbt.com/export/sec_comm.rss'),
(u'Оптические приводы и носители информации', u'http://www.ixbt.com/export/sec_optical.rss'),
(u'Принтеры и МФУ', u'http://www.ixbt.com/export/sec_printer.rss'),
(u'Мониторы и TV-тюнеры', u'http://www.ixbt.com/export/sec_monitor.rss'),
(u'Жёсткие диски и Flash-накопители', u'http://www.ixbt.com/export/sec_storage.rss'),
(u'Цифровой звук: акустика, звуковые карты, наушники', u'http://www.ixbt.com/export/sec_multimedia.rss'),
(u'ProAudio: звуковые карты, интерфейсы, студийные мониторы и наушники, MIDI-клавиатуры, профессиональное ПО', u'http://www.ixbt.com/export/sec_proaudio.rss'),
(u'Цифровая фотография', u'http://www.ixbt.com/export/sec_digimage.rss'),
(u'Проекторы, кино и домашние кинотеатры', u'http://www.ixbt.com/export/sec_dvd.rss'),
(u'Цифровое видео: камеры, захват и монтаж', u'http://www.ixbt.com/export/sec_divideo.rss'),
(u'Ноутбуки и планшетные ПК', u'http://www.ixbt.com/export/sec_portopc.rss'),
(u'Карманные компьютеры', u'http://www.ixbt.com/export/sec_pda.rss'),
(u'Мобильные телефоны', u'http://www.ixbt.com/export/sec_mobile.rss'),
(u'Периферия: мыши, клавиатуры, джойстики', u'http://www.ixbt.com/export/sec_peripheral.rss'),
(u'Корпуса, блоки питания и ИБП', u'http://www.ixbt.com/export/sec_power.rss'),
(u'Общеиндустриальные новости о новых продуктах и технологиях', u'http://www.ixbt.com/export/sec_editorial.rss')]
# def print_version(self, url):
# return url.replace('http://www', 'http://m')
remove_tags_before = dict(name='div', attrs={'class':'content'})
remove_tags_after = dict(name='ul', attrs={'id':'soc_ShareBlock'})
Last edited by bugmen00t; 08-08-2015 at 12:55 AM.
|