mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-09-29 15:31:08 -04:00
131 lines
6.0 KiB
Plaintext
131 lines
6.0 KiB
Plaintext
# -*- coding: utf-8 -*-
|
|
__license__ = 'GPL v3'
|
|
__author__ = 'grzegorz.maj@dziennik.krakow.pl>'
|
|
|
|
'''
|
|
http://dziennikpolski24.pl
|
|
Author: grzegorz.maj@dziennik.krakow.pl
|
|
'''
|
|
from calibre.web.feeds.news import BasicNewsRecipe
|
|
|
|
|
|
class DziennikPolski24(BasicNewsRecipe):
|
|
|
|
title = u'Dziennik Polski'
|
|
publisher = u'Grupa Polskapresse'
|
|
|
|
__author__ = 'grzegorz.maj'
|
|
description = u'Wiadomości z wydania Dziennika Polskiego'
|
|
oldest_article = 1
|
|
max_articles_per_feed = 50
|
|
needs_subscription = True
|
|
|
|
remove_javascript = True
|
|
no_stylesheets = True
|
|
use_embedded_content = False
|
|
remove_empty_feeds = True
|
|
extra_css = '.date{margin-top: 4em;} .logo_author{margin-left:0.5em;}'
|
|
|
|
publication_type = 'newspaper'
|
|
cover_url = 'http://www.dziennikpolski24.pl/_p/images/logoDP24-b.gif'
|
|
INDEX = 'http://dziennikpolski24.pl/'
|
|
|
|
encoding = 'utf-8'
|
|
language = 'pl'
|
|
|
|
keep_only_tags = [
|
|
|
|
dict(name='div', attrs={'class': ['toolbar']}), dict(name='h1'), dict(name='h2', attrs={'class': ['teaser']}), dict(name='div', attrs={'class': ['picture']}), dict(name='div', attrs={'id': ['showContent']}), dict(name='div', attrs={'class': ['paging']}), dict(name='div', attrs={'class': ['wykupTresc']}) # noqa
|
|
]
|
|
|
|
remove_tags = [
|
|
|
|
]
|
|
|
|
feeds = [
|
|
|
|
(u'Kraj', u'http://www.dziennikpolski24.pl/rss/feed/1151'),
|
|
(u'Świat', u'http://www.dziennikpolski24.pl/rss/feed/1153'),
|
|
(u'Gospodarka', u'http://www.dziennikpolski24.pl/rss/feed/1154'),
|
|
(u'Małopolska', u'http://www.dziennikpolski24.pl/rss/feed/1155'),
|
|
(u'Kultura', u'http://www.dziennikpolski24.pl/rss/feed/1156'),
|
|
(u'Opinie', u'http://www.dziennikpolski24.pl/rss/feed/1158'),
|
|
(u'Kronika Nowohucka', u'http://www.dziennikpolski24.pl/rss/feed/1656'),
|
|
(u'Na bieżąco', u'http://www.dziennikpolski24.pl/rss/feed/1543'),
|
|
(u'Londyn 2012', u'http://www.dziennikpolski24.pl/rss/feed/2545'),
|
|
(u'Piłka nożna', u'http://www.dziennikpolski24.pl/rss/feed/2196'),
|
|
(u'Siatkówka', u'http://www.dziennikpolski24.pl/rss/feed/2197'),
|
|
(u'Koszykówka', u'http://www.dziennikpolski24.pl/rss/feed/2198'),
|
|
(u'Tenis', u'http://www.dziennikpolski24.pl/rss/feed/2199'),
|
|
(u'Formuła 1', u'http://www.dziennikpolski24.pl/rss/feed/2203'),
|
|
(u'Lekkoatletyka', u'http://www.dziennikpolski24.pl/rss/feed/2204'),
|
|
(u'Żużel', u'http://www.dziennikpolski24.pl/rss/feed/2200'),
|
|
(u'Sporty motorowe', u'http://www.dziennikpolski24.pl/rss/feed/2206'),
|
|
(u'Publicystyka sportowa', u'http://www.dziennikpolski24.pl/rss/feed/2201'),
|
|
(u'Kolarstwo', u'http://www.dziennikpolski24.pl/rss/feed/2205'),
|
|
(u'Inne', u'http://www.dziennikpolski24.pl/rss/feed/2202'),
|
|
(u'Miasto Kraków', u'http://www.dziennikpolski24.pl/rss/feed/1784'),
|
|
(u'Region nowosądecki', u'http://www.dziennikpolski24.pl/rss/feed/1795'),
|
|
(u'Region Małopolski Zachodniej', u'http://www.dziennikpolski24.pl/rss/feed/1793'),
|
|
(u'Region tarnowski', u'http://www.dziennikpolski24.pl/rss/feed/1797'),
|
|
(u'Region podhalański', u'http://www.dziennikpolski24.pl/rss/feed/1789'),
|
|
(u'Region olkuski', u'http://www.dziennikpolski24.pl/rss/feed/1670'),
|
|
(u'Region miechowski', u'http://www.dziennikpolski24.pl/rss/feed/1806'),
|
|
(u'Region podkrakowski', u'http://www.dziennikpolski24.pl/rss/feed/1787'),
|
|
(u'Region proszowicki', u'http://www.dziennikpolski24.pl/rss/feed/1804'),
|
|
(u'Region wielicki', u'http://www.dziennikpolski24.pl/rss/feed/1802'),
|
|
(u'Region podbeskidzki', u'http://www.dziennikpolski24.pl/rss/feed/1791'),
|
|
(u'Region myślenicki', u'http://www.dziennikpolski24.pl/rss/feed/1800'),
|
|
(u'Autosalon', u'http://www.dziennikpolski24.pl/rss/feed/1294'),
|
|
(u'Kariera', u'http://www.dziennikpolski24.pl/rss/feed/1289'),
|
|
(u'Przegląd nieruchomości', u'http://www.dziennikpolski24.pl/rss/feed/1281'),
|
|
(u'Magnes', u'http://www.dziennikpolski24.pl/rss/feed/1283'),
|
|
(u'Magazyn Piątek', u'http://www.dziennikpolski24.pl/rss/feed/1293'),
|
|
(u'Pejzaż rodzinny', u'http://www.dziennikpolski24.pl/rss/feed/1274'),
|
|
(u'Podróże', u'http://www.dziennikpolski24.pl/rss/feed/1275'),
|
|
(u'Konsument', u'http://www.dziennikpolski24.pl/rss/feed/1288')
|
|
]
|
|
|
|
def append_page(self, soup, appendtag):
|
|
loop = False
|
|
tag = soup.find('div', attrs={'class': 'paging'})
|
|
if tag:
|
|
loop = True
|
|
li_nks = tag.findAll('li')
|
|
appendtag.find('div', attrs={'class': 'paging'}).extract()
|
|
if appendtag.find('ul', attrs={'class': 'menuf'}):
|
|
appendtag.find('ul', attrs={'class': 'menuf'}).extract()
|
|
while loop:
|
|
loop = False
|
|
for li_nk in li_nks:
|
|
link_tag = li_nk.contents[0].contents[0].string
|
|
if u'następna' in link_tag:
|
|
soup2 = self.index_to_soup(
|
|
self.INDEX + li_nk.contents[0]['href'])
|
|
if soup2.find('div', attrs={'id': 'showContent'}):
|
|
pagetext = soup2.find(
|
|
'div', attrs={'id': 'showContent'})
|
|
pos = len(appendtag.contents)
|
|
appendtag.insert(pos, pagetext)
|
|
if soup2.find('div', attrs={'class': 'rightbar'}):
|
|
pagecont = soup2.find(
|
|
'div', attrs={'class': 'rightbar'})
|
|
tag = pagecont.find(
|
|
'div', attrs={'class': 'paging'})
|
|
li_nks = tag.findAll('li')
|
|
loop = True
|
|
|
|
def get_browser(self):
|
|
br = BasicNewsRecipe.get_browser(self)
|
|
if self.username is not None and self.password is not None:
|
|
br.open('http://www.dziennikpolski24.pl/pl/moje-konto/950606-loguj.html')
|
|
br.select_form(nr=1)
|
|
br["user_login[login]"] = self.username
|
|
br['user_login[pass]'] = self.password
|
|
br.submit()
|
|
return br
|
|
|
|
def preprocess_html(self, soup):
|
|
self.append_page(soup, soup.body)
|
|
return soup
|