Teraz jest 29 mar 2024 17:22:14




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Recepta dla trojmiasto.pl. (Pomoc w kodzie) 
Autor Wiadomość
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2012 22:16:03
Posty: 35
eCzytnik: Kindle Classic
Post Recepta dla trojmiasto.pl. (Pomoc w kodzie)
Hej!

Po ściągnięcie recepty zapraszam na koniec postu!

Próbuję napisać receptę dla portalu trojmiasto.pl. Idzie do przodu małymi kroczkami, ale natrafiłem na problem...
Mianowicie, różnica pomiędzy pobranym contentem w epubie i w mobi jest strasznie duża.. Zawsze tak jest? Krótko mówiąc, mobi ssie, epub wygląda ślicznie!
Obrazek
Dla formatu mobi gazetka wygląda o wiele gorzej, te spisy treści w porównaniu do epuba są brzydkie i niechlujne. No i nie działają linki Menu sekcji oraz Menu główne, a tylko Następna/Poprzednia..
Obrazek
Zdjęcia ładnie układają się w epubie, w mobi nie.
Dzięki z góry za pomoc!

Oto kod mojej recepty:
Spoiler!
Kod:
class trojmiasto(BasicNewsRecipe):
    title                 = u'Trojmiasto.pl'
    __author__            = u'ellox'
    language = 'pl'
    description           = u'Wiadomosci z portalu Trojmiasto.pl'
   
    oldest_article        = 3
    max_articles_per_feed = 100
    no_stylesheets        = True
                       
    feeds = [
            (u"Rozrywka", u'http://rss.trojmiasto.pl/rss,6.xml'),
            (u"Kultura", u'http://rss.trojmiasto.pl/rss,7.xml'),
            (u"Nauka", u'http://rss.trojmiasto.pl/rss,5.xml'),
            (u"Fakty i opinie", u'http://rss.trojmiasto.pl/rss,1.xml'),
            (u"Kryminalne TrojmiastoFakty i opinie", u'http://rss.trojmiasto.pl/rss,17.xml')
            ]
           
    extra_css = 'h1 { font-size: 150%; font-weight: bold; }'
           
    def print_version(self, url):
        return url.replace(".html",".html?print=1")
       
    remove_tags_before = dict(name='div', attrs={'class':'text-container'})
    remove_tags_after = dict(name='div', attrs={'class':'text-container'})
    remove_tags =   [
                        dict(name='div', attrs={'class':'logo'}),
                        dict(name='div', attrs={'class':'related-info-wrap'})
                    ]


EDIT:
RECEPTA DO ŚCIĄGNIĘCIA TUTAJ
Nie mam możliwości przetestowanie tego, jak wygląda na jakimś czytniku. W Calibre wygląda jako tako (może spróbuję poprawić wygląd ankiet i pousuwanie linków typu "Zagłosuj"), więc oto wersja 1.0, zawiera 22 feedy:
Spoiler!
  • Fakty i opinie
  • Sport
  • Dom
  • Motoryzacja
  • Nauka
  • Rozrywka
  • Kultura
  • Rowery
  • Dziecko
  • Zdrowie i uroda
  • Praca
  • Artykuły czytelników
  • Korki w Trójmieście
  • Historia
  • Raport drogowy
  • Biznes
  • Kryminalne Trojmiasto
  • Przewodnik
  • Aktywne Trójmiasto
  • Deluxe
  • Euro 2012
  • Telewizja internetowa Trójmiasto

A tu kod:
Spoiler!
Kod:
    class trojmiasto(BasicNewsRecipe):
    title = u'Trojmiasto.pl'
    __author__  = u'Matczak Maciej'
    language = 'pl'
    description = u'Wiadomosci z portalu Trojmiasto.pl'
    no_stylesheets = True
    masthead_url = 'http://s-trojmiasto.pl/_img/logo/ekran/logo300.gif'
    cover_url = 'http://i.imgur.com/ZvHdS.png'
   
    # Z ilu ostatnich dni ma sciagac wiadomosci?
    oldest_article = 2
    # Jak duzo z danego feeda moze _maxymalnie_ sciagnac wiadomosci?
    max_articles_per_feed = 100

    # Przy feedach ktorych nie chcemy stawiamy hashe (#), mozemy smialo
    # poprzestawiac linijki miejscami w celu ustalenia kolejnosci feedow w
    # gazetce (pamietac o przecinkach!)
    feeds = [
            (u"Fakty i opinie",       u'http://rss.trojmiasto.pl/rss,1.xml'),
            #(u"Sport",       u'http://rss.trojmiasto.pl/rss,2.xml'),
            #(u"Dom",       u'http://rss.trojmiasto.pl/rss,3.xml'),
            #(u"Motoryzacja",       u'http://rss.trojmiasto.pl/rss,4.xml'),
            (u"Nauka",       u'http://rss.trojmiasto.pl/rss,5.xml'),
            (u"Rozrywka",       u'http://rss.trojmiasto.pl/rss,6.xml'),
            (u"Kultura",       u'http://rss.trojmiasto.pl/rss,7.xml'),
            (u"Rowery",       u'http://rss.trojmiasto.pl/rss,8.xml'),
            #(u"Dziecko",       u'http://rss.trojmiasto.pl/rss,9.xml'),
            #(u"Zdrowie i uroda",    u'http://rss.trojmiasto.pl/rss,10.xml'),
            (u"Praca",       u'http://rss.trojmiasto.pl/rss,11.xml'),
            #(u"Artykuły czytelników",    u'http://rss.trojmiasto.pl/rss,12.xml'),
            #(u"Korki w Trójmieście",    u'http://rss.trojmiasto.pl/rss,13.xml'),
            (u"Historia",       u'http://rss.trojmiasto.pl/rss,14.xml'),
            #(u"Raport drogowy",    u'http://rss.trojmiasto.pl/rss,15.xml'),
            #(u"Biznes",       u'http://rss.trojmiasto.pl/rss,16.xml'),
            (u"Kryminalne Trojmiasto",    u'http://rss.trojmiasto.pl/rss,17.xml'),
            (u"Przewodnik",       u'http://rss.trojmiasto.pl/rss,18.xml'),
            (u"Aktywne Trójmiasto",    u'http://rss.trojmiasto.pl/rss,19.xml'),
            #(u"Deluxe",       u'http://rss.trojmiasto.pl/rss,20.xml'),
            #(u"Euro 2012",       u'http://rss.trojmiasto.pl/rss,21.xml'),
            #(u"Telewizja internetowa Trójmiasto", u'http://rss.trojmiasto.pl/rss,22.xml')
            ]
           
    extra_css = 'h1 { font-size: 150%; font-weight: bold; }'
           
    def print_version(self, url):
        return url.replace(".html",".html?print=1")
       
    remove_tags_before = dict(name='div', attrs={'class':'text-container'})
    remove_tags_after = dict(name='div', attrs={'class':'text-container'})
    remove_tags =   [
                        dict(name='div', attrs={'class':'logo'}),
                        dict(name='div', attrs={'class':'related-info-wrap'})
                    ]


Ostatnio edytowano 12 maja 2012 18:04:11 przez ellox, łącznie edytowano 1 raz



27 kwi 2012 1:32:28
Zobacz profil
Użytkownik

Dołączył(a): 27 gru 2011 23:40:31
Posty: 6
eCzytnik: kindle
Post Re: Recepta dla trojmiasto.pl. (Pomoc w kodzie)
w calibre to ogladasz?

ja swoja recepte jak ogladalem w calibre to wygladalo kijowo a jak odpalilemna kindlu to ladnie


12 maja 2012 3:11:48
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2012 22:16:03
Posty: 35
eCzytnik: Kindle Classic
Post Re: Recepta dla trojmiasto.pl. (Pomoc w kodzie)
Tajest, w Calibre, no niestety nie mam możliwości obejrzeć tego w czytniku jak na razie :). Przed dostaniem czytnika w łapki ogarniam sobie receptę :P
No więc dzięki, na razie nie będę zmieniać recepty, najwyżej jak zobaczę jak to na czytniku wygląda to coś pozmieniam..


12 maja 2012 18:06:03
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2012 22:16:03
Posty: 35
eCzytnik: Kindle Classic
Post Re: Recepta dla trojmiasto.pl. (Pomoc w kodzie)
Potrzebuje info:
Jak zamienić wszystkie tagi '<dd' na '<li', a '</dd>' na '</li>'. Nie mogę dojść do tego jak użyć funkcji regexps...

Mam coś takiego mniej więcej:
Kod:
    preprocess_regexps = [
        (re.compile(r"&lt;dd"),lambda match: '&lt;li'),
        (re.compile(r"&lt;/dd&gt;"),lambda match: '&lt;/li&gt;')
            ]


28 maja 2012 23:23:59
Zobacz profil
Użytkownik

Dołączył(a): 16 lip 2011 14:21:10
Posty: 133
eCzytnik: Kindle 3
Post Re: Recepta dla trojmiasto.pl. (Pomoc w kodzie)
Możesz to zrobić w preprocess_html tak:
Kod:
def preprocess_html(self, soup):
    dd_tags=soup.findAll(name='dd')
    for a in dd_tags:
        a.name='li'
    return soup


29 maja 2012 10:37:35
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 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

Skocz do: