Do szukania niewygodnych elementów w kodzie html można użyć np Firebug'a - następnie należy dodać dwie sekcje: w jednej deklarujemy co pobieramy:
keep_only_tags = [a w drugiej co ma zostać wycięte
dict(name='div', attrs={'class':'art'})
]
remove_tags = [W przypadku gdy artykułu są wielostronicowe należy poszukać wersji do druku
dict(name='div', attrs={'class':'tagi'}),
]
przykład1 - jeśli wersja do druku różni się tylko końcówką
http://www.adres.pl/fajna-strona.html
http://www.adres.pl/fajna-strona.html/do-druku
to wystarczy dodać
def print_version(self, url):przykład2 - jeśli różni się środkiem
return url + '/do-druku'
http://www.adres.pl/czytaj/fajna-strona.html
http://www.adres.pl/drukuj/fajna-strona.html
to trzeba zastąpić czytaj na drukuj
def print_version(self, url):przykład3 - jeśli w środku dodano przekierowanie
return url.replace('czytaj', 'drukuj')
http://www.adres.pl/fajna-strona.html
http://www.adres.pl/drukuj/fajna-strona.html
to dzielimy url - jako znak podziału musimy wybrać / i liczymy po ilu / chcemy podzielić a potem wstawić i na końcu po ilu połączyć [podział i łączenie określamy liczbą 3]
def print_version(self,url):Nazwy kanałów możemy określi na dwa sposoby
segments = url.split('/')
printURL = '/'.join(segments[0:3]) + '/drukuj/' + '/'.join(segments[3:])
return printURL
przykład1 - calibre pobiera oryginalne nazwy kanału
feeds = []przykład2 - określamy własne nazwy kanału jeśli oryginalne są za długie
feeds.append(u'http://www.parkiet.com/rss/7.html'),
feeds = [
('Pierwsza strona', 'http://www.adres.com/rss/1.html'),
('Druga strona', 'http://www.adres.com/rss/2.html'),
('Sport', 'http://www.adres.com/rss/5.html'),
]
Brak komentarzy:
Prześlij komentarz