|
|
Teraz jest 14 lis 2024 20:00:38
|
Prośby o dodanie nowych serwisów
Autor |
Wiadomość |
Użytkownik
Dołączył(a): 01 kwi 2011 12:15:23 Posty: 30
eCzytnik: Kindle 3 3G
|
Re: Prośby o dodanie nowych serwisów
|
12 wrz 2012 11:16:29 |
|
|
Użytkownik
Dołączył(a): 05 sie 2011 23:24:50 Posty: 11
eCzytnik: Kindle 3
|
Re: Prośby o dodanie nowych serwisów
Mam prośbę: czy plik mobi ze strony brewiarz.pl mógłby zawierać wybór oficjum, ponieważ w różnych diecezjach albo miastach może być inne wspomnienie/święto w danym dniu albo ktoś chciałby modlić się wspomnieniem dowolnym z danego dnia, jak np. dzisiaj: http://www.brewiarz.pl/dzis.phpDopiero wybierając odpowiednie oficjum można modlić się wybranymi modlitwami, tzn. Jutrznią, Nieszporami itd. Proszę więc, jeśli to możliwe o dodanie również możliwości wyboru oficjum na dany dzień. Dziękuję za świetną robotę
_________________
|
12 wrz 2012 11:34:40 |
|
|
Użytkownik
Dołączył(a): 18 cze 2012 10:27:53 Posty: 14
eCzytnik: Kindle Keyboard 3G, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
tak, po pierwsze: świetna robota. jedyny problem to rzeczywiście kwestia wyboru oficjum, ale nie wiem jak by to trzeba zrobić sensownie... nie mam pomysłu... poza tym (ale to mniejszy szczegół) - czasem w długich czytaniach w godzinie czytań tekst łapie dosyć szeroki, brzydki margines.
|
12 wrz 2012 18:23:50 |
|
|
Użytkownik
Dołączył(a): 21 mar 2011 17:12:46 Posty: 517 Lokalizacja: Gdańsk
eCzytnik: K3, K4, KT, KPW, M92B, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
@Vroo, recepta wygląda tak : Spoiler! Ilość kolejnych dni, z których pobrane mają być treści można regulować za pomocą zmiennej "next_days".
| | | | Kod: #!/usr/bin/env python
__license__ = 'GPL v3'
from calibre.web.feeds.news import BasicNewsRecipe import datetime from calibre.ebooks.BeautifulSoup import BeautifulSoup, NavigableString, Tag
class brewiarz(BasicNewsRecipe): title = u'Brewiarz' __author__ = 'Artur Stachecki <artur.stachecki@gmail.com>' language = 'pl' description = u'Serwis poświęcony Liturgii Godzin (brewiarzowi) - formie codziennej modlitwy Kościoła katolickiego.' masthead_url = 'http://brewiarz.pl/images/logo2.gif' max_articles_per_feed = 100 remove_javascript = True no_stylesheets = True publication_type = 'newspaper' next_days = 7 def parse_index(self): dec2rom_dict = {"01": "i", "02": "ii", "03": "iii", "04": "iv", "05": "v", "06": "vi", "07": "vii", "08": "viii", "09": "ix", "10": "x", "11": "xi", "12": "xii"}
weekday_dict = {"Sunday" : "Niedziela", "Monday" : "Poniedziałek", "Tuesday" : "Wtorek", "Wednesday" : "Środa", "Thursday" : "Czwartek", "Friday" : "Piątek", "Saturday" : "Sobota"}
now = datetime.datetime.now()
feeds = [] for i in range(0, self.next_days): url_date = now + datetime.timedelta(days=i) url_date_month = url_date.strftime("%m") url_date_month_roman = dec2rom_dict[url_date_month] url_date_day = url_date.strftime("%d") url_date_year = url_date.strftime("%Y")[2:] url_date_weekday = url_date.strftime("%A") url_date_weekday_pl = weekday_dict[url_date_weekday]
url = "http://brewiarz.pl/" + url_date_month_roman + "_" + url_date_year + "/" + url_date_day + url_date_month + "/index.php3" articles = self.parse_pages(url) if articles: title = url_date_weekday_pl + " " + url_date_day + "." + url_date_month + "." + url_date_year feeds.append((title, articles)) else: sectors = self.get_sectors(url) for subpage in sectors: title = url_date_weekday_pl + " " + url_date_day + "." + url_date_month + "." + url_date_year + " - " + subpage.string url = "http://brewiarz.pl/" + url_date_month_roman + "_" + url_date_year + "/" + url_date_day + url_date_month + "/" + subpage['href'] print(url) articles = self.parse_pages(url) if articles: feeds.append((title, articles)) return feeds
def get_sectors(self, url): sectors = [] soup = self.index_to_soup(url) sectors_table = soup.find(name = 'table', attrs = {'width' : '490'}) sector_links = sectors_table.findAll(name = 'a') for sector_links_modified in sector_links: link_parent_text = sector_links_modified.findParent(name = 'div').text if link_parent_text: sector_links_modified.text = link_parent_text.text sectors.append(sector_links_modified) return sectors
def parse_pages(self, url): current_articles = [] soup = self.index_to_soup(url) www = soup.find(attrs={'class': 'www'}) if www: box_title = www.find(text='Teksty LG') article_box_parent = box_title.findParent('ul') article_box_sibling = article_box_parent.findNextSibling('ul') for link in article_box_sibling.findAll('a'): link_title = self.tag_to_string(link) link_url_print = re.sub('php3', 'php3?kr=_druk&wr=lg&', link['href']) link_url = url[:-10] + link_url_print current_articles.append({'title': link_title, 'url': link_url, 'description': '', 'date': ''}) return current_articles else: return None
def preprocess_html(self, soup): footer = soup.find(name = 'a', attrs = {'href' : 'http://brewiarz.pl'}) footer_parent = footer.findParent('div') footer_parent.extract()
header = soup.find(text = 'http://brewiarz.pl') header_parent = header.findParent('div') header_parent.extract()
subheader = soup.find(text = 'Kolor szat:').findParent('div') subheader.extract()
color = soup.find('b') color.extract()
cleaned = self.strip_tags(soup)
div = cleaned.findAll(name = 'div') div[1].extract() div[2].extract() div[3].extract()
return cleaned
def strip_tags(self, soup_dirty): VALID_TAGS = ['p', 'div', 'br', 'b', 'a', 'title', 'head', 'html', 'body']
for tag in soup_dirty.findAll(True): if tag.name not in VALID_TAGS: for i, x in enumerate(tag.parent.contents): if x == tag: break else: print "Can't find", tag, "in", tag.parent continue for r in reversed(tag.contents): tag.parent.insert(i, r) tag.extract()
return soup_dirty | | | | |
Wersja z wyborem oficjum (niestety nazwy są zbyt długie, aby je wyświetlić w menu; widoczne są dopiero jako nagłówek) : http://d.pr/f/MiMa
_________________
|
12 wrz 2012 19:36:43 |
|
|
Użytkownik
Dołączył(a): 18 cze 2012 10:27:53 Posty: 14
eCzytnik: Kindle Keyboard 3G, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
| | | | Artur Stachecki napisał(a): @Vroo, recepta wygląda tak : Spoiler! Ilość kolejnych dni, z których pobrane mają być treści można regulować za pomocą zmiennej "next_days".
| | | | Kod: #!/usr/bin/env python
__license__ = 'GPL v3'
from calibre.web.feeds.news import BasicNewsRecipe import datetime from calibre.ebooks.BeautifulSoup import BeautifulSoup, NavigableString, Tag
class brewiarz(BasicNewsRecipe): title = u'Brewiarz' __author__ = 'Artur Stachecki <artur.stachecki@gmail.com>' language = 'pl' description = u'Serwis poświęcony Liturgii Godzin (brewiarzowi) - formie codziennej modlitwy Kościoła katolickiego.' masthead_url = 'http://brewiarz.pl/images/logo2.gif' max_articles_per_feed = 100 remove_javascript = True no_stylesheets = True publication_type = 'newspaper' next_days = 7 def parse_index(self): dec2rom_dict = {"01": "i", "02": "ii", "03": "iii", "04": "iv", "05": "v", "06": "vi", "07": "vii", "08": "viii", "09": "ix", "10": "x", "11": "xi", "12": "xii"}
weekday_dict = {"Sunday" : "Niedziela", "Monday" : "Poniedziałek", "Tuesday" : "Wtorek", "Wednesday" : "Środa", "Thursday" : "Czwartek", "Friday" : "Piątek", "Saturday" : "Sobota"}
now = datetime.datetime.now()
feeds = [] for i in range(0, self.next_days): url_date = now + datetime.timedelta(days=i) url_date_month = url_date.strftime("%m") url_date_month_roman = dec2rom_dict[url_date_month] url_date_day = url_date.strftime("%d") url_date_year = url_date.strftime("%Y")[2:] url_date_weekday = url_date.strftime("%A") url_date_weekday_pl = weekday_dict[url_date_weekday]
url = "http://brewiarz.pl/" + url_date_month_roman + "_" + url_date_year + "/" + url_date_day + url_date_month + "/index.php3" articles = self.parse_pages(url) if articles: title = url_date_weekday_pl + " " + url_date_day + "." + url_date_month + "." + url_date_year feeds.append((title, articles)) else: sectors = self.get_sectors(url) for subpage in sectors: title = url_date_weekday_pl + " " + url_date_day + "." + url_date_month + "." + url_date_year + " - " + subpage.string url = "http://brewiarz.pl/" + url_date_month_roman + "_" + url_date_year + "/" + url_date_day + url_date_month + "/" + subpage['href'] print(url) articles = self.parse_pages(url) if articles: feeds.append((title, articles)) return feeds
def get_sectors(self, url): sectors = [] soup = self.index_to_soup(url) sectors_table = soup.find(name = 'table', attrs = {'width' : '490'}) sector_links = sectors_table.findAll(name = 'a') for sector_links_modified in sector_links: link_parent_text = sector_links_modified.findParent(name = 'div').text if link_parent_text: sector_links_modified.text = link_parent_text.text sectors.append(sector_links_modified) return sectors
def parse_pages(self, url): current_articles = [] soup = self.index_to_soup(url) www = soup.find(attrs={'class': 'www'}) if www: box_title = www.find(text='Teksty LG') article_box_parent = box_title.findParent('ul') article_box_sibling = article_box_parent.findNextSibling('ul') for link in article_box_sibling.findAll('a'): link_title = self.tag_to_string(link) link_url_print = re.sub('php3', 'php3?kr=_druk&wr=lg&', link['href']) link_url = url[:-10] + link_url_print current_articles.append({'title': link_title, 'url': link_url, 'description': '', 'date': ''}) return current_articles else: return None
def preprocess_html(self, soup): footer = soup.find(name = 'a', attrs = {'href' : 'http://brewiarz.pl'}) footer_parent = footer.findParent('div') footer_parent.extract()
header = soup.find(text = 'http://brewiarz.pl') header_parent = header.findParent('div') header_parent.extract()
subheader = soup.find(text = 'Kolor szat:').findParent('div') subheader.extract()
color = soup.find('b') color.extract()
cleaned = self.strip_tags(soup)
div = cleaned.findAll(name = 'div') div[1].extract() div[2].extract() div[3].extract()
return cleaned
def strip_tags(self, soup_dirty): VALID_TAGS = ['p', 'div', 'br', 'b', 'a', 'title', 'head', 'html', 'body']
for tag in soup_dirty.findAll(True): if tag.name not in VALID_TAGS: for i, x in enumerate(tag.parent.contents): if x == tag: break else: print "Can't find", tag, "in", tag.parent continue for r in reversed(tag.contents): tag.parent.insert(i, r) tag.extract()
return soup_dirty | | | | |
Wersja z wyborem oficjum (niestety nazwy są zbyt długie, aby je wyświetlić w menu; widoczne są dopiero jako nagłówek) : http://d.pr/f/MiMa | | | | |
na pierwszy rzut oka jest super! teraz trzeba trochę potestować w praktyce...
|
12 wrz 2012 20:06:56 |
|
|
Użytkownik
Dołączył(a): 24 lut 2012 13:57:34 Posty: 7
eCzytnik: Kindle
|
Re: Prośby o dodanie nowych serwisów
|
13 wrz 2012 13:05:31 |
|
|
Użytkownik
Dołączył(a): 01 kwi 2011 12:15:23 Posty: 30
eCzytnik: Kindle 3 3G
|
Re: Prośby o dodanie nowych serwisów
|
13 wrz 2012 13:35:04 |
|
|
Użytkownik
Dołączył(a): 21 mar 2011 17:12:46 Posty: 517 Lokalizacja: Gdańsk
eCzytnik: K3, K4, KT, KPW, M92B, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
Brewiarz - dodano
_________________
|
13 wrz 2012 21:34:00 |
|
|
Użytkownik
Dołączył(a): 18 cze 2012 10:27:53 Posty: 14
eCzytnik: Kindle Keyboard 3G, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
super! jeszcze tylko powiedz jak jest generowany - na poszczególne dni czy na cały tydzień np. ? (żeby nie ściągać niepotrzebnie kilka razy do przodu)
|
13 wrz 2012 23:09:41 |
|
|
Użytkownik
Dołączył(a): 21 mar 2011 17:12:46 Posty: 517 Lokalizacja: Gdańsk
eCzytnik: K3, K4, KT, KPW, M92B, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
@ppiioottrr, Brewiarza możesz zaznaczyć codziennie, ponieważ pobierane są treści z dnia, w którym został wygenerowany. Innymi słowy codziennie coś nowego.
_________________
|
14 wrz 2012 10:14:29 |
|
|
Użytkownik
Dołączył(a): 18 cze 2012 10:27:53 Posty: 14
eCzytnik: Kindle Keyboard 3G, Galaxy Note
|
Re: Prośby o dodanie nowych serwisów
ok. super. dzięki. może wygodniej by było na cały tydzień... ale tak też nie jest źle. jeszcze jedna sprawa - zawsze w "godzinie czytań" przy pierwszym czytaniu jest tzw. "tekst wg cyklu dwuletniego" (dostępny w zakładce). dałoby się to też wyciągnąć? tak żeby po jednej była też po kolei druga wersja? wiem, że trochę marudzę, ale jeszcze tego jednego brakuje do ideału...
|
15 wrz 2012 10:20:45 |
|
|
Użytkownik
Dołączył(a): 12 sie 2012 23:28:23 Posty: 2
eCzytnik: kindle
|
Re: Prośby o dodanie nowych serwisów
popieram prosbe o blog rowerowy lub rowertour.pl A tak wogole dobra robote robicie,postaram sie przelac Wam kilka zl. Powodzenia i dzieki !
|
18 wrz 2012 16:18:39 |
|
|
Użytkownik
Dołączył(a): 07 kwi 2011 15:02:55 Posty: 55
eCzytnik: Kindle 3
|
Re: Prośby o dodanie nowych serwisów
Bardzo proszę o dodanie: - BBC News - BBC News (fast)
Recepty dostępne są w calibre.
|
19 wrz 2012 12:26:20 |
|
|
Użytkownik
Dołączył(a): 12 mar 2012 22:58:56 Posty: 12
eCzytnik: Kindle 3 3G, Onyx T68
|
Re: Prośby o dodanie nowych serwisów
Ja poproszę o http://www.xda-developers.com/ RSS: http://www.xda-developers.com/feed/A poza tym - wielkie dzięki za brewiarz To jest genialne! Kiedyś chciałem nosić ze sobą tą małą edycję dla świeckich, ale nie jest rzeczą zbyt poręczną nosić kolejną książkę. A teraz - mam chwilę czasu to odpalam Kindla i wszystko jest - nie trzeba się martwić, że coś się pomyli, przekładać zakładek itp... Zdecydowanie ułatwia tą wspaniałą formę modlitwy w tak zabieganym życiu teraźniejszych ludzi Jeszcze raz - wielkie dzięki!
|
19 wrz 2012 22:40:22 |
|
|
Użytkownik
Dołączył(a): 17 maja 2011 20:06:17 Posty: 4
eCzytnik: kindle 3
|
Re: Prośby o dodanie nowych serwisów
Poproszę o dodanie mp.pl Tutaj jest recepta: | | | | Kod: # -*- coding: utf-8 -*- import urllib from calibre.web.feeds.news import BasicNewsRecipe class Medycyna_praktyczna(BasicNewsRecipe): title = u'Medycyna praktyczna' oldest_article = 7 __author__ = 'fenuks' language = 'pl' encoding='latin2' description ='MPonLine jest specjalistycznym medycznym serwisem internetowym przedstawiającym aktualną wiedzę medyczną opartą o kryteria evidence-based medicine (EBM). Daje bezpłatny dostęp do usług, serwisów i baz danych lekarzom, farmaceutom, studentom medycyny i wszystkim osobom związanym zawodowo z ochroną zdrowia. Serwis prowadzi wydawnictwo Medycyna Praktyczna.' category='medicine' max_articles_per_feed = 100 no_stylesheets=True needs_subscription=True keep_only_tags=[dict(attrs={'class':['article-body', 'article']})]
def find_articles(self, url): articles = [] soup=self.index_to_soup(url) tag=soup.findAll(name='table') tag=tag[13].find(name='div', attrs={'class':'normal'}).findAll(name='tr') for t in tag: i=t.find('div') if i: i=i.a else: break title=i.b.string url=i['href'] #date=soup.find(id='footer').ul.li.string[41:-1] articles.append({'title' : title, 'url' : url, 'date' : '', 'description' : '' }) return articles
def get_browser(self): br = BasicNewsRecipe.get_browser() if self.username is not None and self.password is not None: br.open('https://secure.mp.pl/login/index.php') br.follow_link('') br.select_form(name='form1') br['login'] = self.username br['pass'] = self.password resp=br.submit() return br
def parse_index(self): feeds = [] feeds.append((u"Najnowsze z kraju", self.find_articles('http://www.mp.pl/kurier/index.php?lid=339&all=1&_tc=873FE8EAF139F92F8B4AB60E32D1DE29'))) return feeds
def skip_ad_pages(self, soup): if soup.title.string == ' ': nexturl=soup.find('a')['href'] return self.index_to_soup(nexturl, raw=True) | | | | |
Można też dodać inne działy.
|
23 wrz 2012 15:07:25 |
|
|
Kto przegląda forum |
Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 3 gości |
|
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów
|
|
|
|