-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
dziennik_polski.recipe
130 lines (113 loc) · 5.98 KB
/
dziennik_polski.recipe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# -*- 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