PDA

Ver la Versión Completa : Ayuda: para crear receta de pag de ajedrez



kzoax77
27/10/2010, 03:51
Ayuda: para crear receta de pag de ajedrez (tiene rss)

http://www.zonadeajedrez.com/index.php

(felicidades por la web, en español, la comunidad se esta currando una gran pagina, con grandes servicios, os pido ayuda con esa receta, pues estoy un poco perdido con el calibre, me parece poco intuitivo para profundizar, pero muy potente, aunque en mi pc le cuesta moverse al programa)

me interesa leer esa web en el kindle dx graphite. saludos-

¿¿(se puede crear un mobi de descarga con una pagina que no tenga rss, ejemplo: http://www.chessbase.com/)??

jefferson_frantz
30/10/2010, 05:53
Ayuda: para crear receta de pag de ajedrez (tiene rss)

http://www.zonadeajedrez.com/index.php

(felicidades por la web, en español, la comunidad se esta currando una gran pagina, con grandes servicios, os pido ayuda con esa receta, pues estoy un poco perdido con el calibre, me parece poco intuitivo para profundizar, pero muy potente, aunque en mi pc le cuesta moverse al programa)

me interesa leer esa web en el kindle dx graphite. saludos-

¿¿(se puede crear un mobi de descarga con una pagina que no tenga rss, ejemplo: http://www.chessbase.com/)??

Hola, aqui te dejo la receta para Zona de Ajedrez. No me quedo tan bien como quisiera, pero bueno espero que te sirva ;)




from calibre.web.feeds.news import re

class ZonaDeAjedrez(BasicNewsRecipe):
title = u'Zona de Ajedrez'
__author__ = 'Jefferson Frantz'
description = 'Portal de Ajedrez en español'
timefmt = ' [%d %b, %Y]'
language = 'es_ES'
no_stylesheets = True
remove_javascript = True

extra_css = ' .txt_articulo{ font-family: sans-serif; font-size: medium; text-align: justify } .contentheading{font-family: serif; font-size: large; font-weight: bold; color: #000000; text-align: center}'

preprocess_regexps = [
(re.compile(r'<iframe width.*?</body>', re.DOTALL|re.IGNORECASE),lambda match: '')
]


def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
return soup


keep_only_tags = [dict(name='div', attrs={'id':['ja-current-content']})]

remove_tags = [
dict(name=['object','link','script','ul','iframe','ol'])
,dict(name='span', attrs={'class':['article-section']})
,dict(name='span', attrs={'class':['content_rating']})
,dict(name='span', attrs={'class':['content_vote']})
,dict(name='span', attrs={'class':['createby']})
,dict(name='div', attrs={'class':['dialog']})
,dict(name='div', attrs={'id':['jcWrapper']})
,dict(name='div', attrs={'class':['buttonheading']})
,dict(name='div', attrs={'class':['authordetails']})
,dict(name='table', attrs={'class':['pagenav']})
,dict(name='div', attrs={'id':['jc_commentFormDiv']})
]

remove_tags_after = dict(name='div', attrs={'id':'sidebar'})


def nz_parse_section(self, url):
soup = self.index_to_soup(url)
current_articles = []

for h4_tag in soup.findAll(attrs={'class':['jazin-title']}):
a = h4_tag.find('a', href=True)
if a is None:
continue
title = self.tag_to_string(a)
url = a.get('href', False)
if not url or not title:
continue
if url.startswith('/'):
url = 'http://www.zonadeajedrez.com'+url

self.log('\t\tFound article:', title)
self.log('\t\t\t', url)
current_articles.append({'title': title, 'url':url,
'description':'', 'date':''})

return current_articles

def parse_index(self):
feeds = []
for title, url in [
('Noticias',
'http://www.zonadeajedrez.com/noticias/noticias.html'),
('Reportajes',
'http://www.zonadeajedrez.com/articulos/reportajes.html'),
('Torneos',
'http://www.zonadeajedrez.com/noticias/torneos.html'),
('Artículos',
'http://www.zonadeajedrez.com/articulos/articulos-de-opinion.html'),
('Cursos',
'http://www.zonadeajedrez.com/aprendizaje/cursos.html'),
('Problemas',
'http://www.zonadeajedrez.com/aprendizaje/problemas.html'),
('Táctica',
'http://www.zonadeajedrez.com/aprendizaje/tactica.html'),
('Partidas Comentadas',
'http://www.zonadeajedrez.com/aprendizaje/partidas-comentadas.html'),
]:
articles = self.nz_parse_section(url)

if articles:
feeds.append((title, articles))
return feeds





Saludos.

Jeff.

PD: Si se puede crear recetas de paginas sin rss. Esta receta por ejemplo la he hecho sin recurrir a los rss.

kzoax77
01/11/2010, 20:00
Hola, aqui te dejo la receta para Zona de Ajedrez. No me quedo tan bien como quisiera, pero bueno espero que te sirva ;)




from calibre.web.feeds.news import re

class ZonaDeAjedrez(BasicNewsRecipe):
title = u'Zona de Ajedrez'
__author__ = 'Jefferson Frantz'
description = 'Portal de Ajedrez en español'
timefmt = ' [%d %b, %Y]'
language = 'es_ES'
no_stylesheets = True
remove_javascript = True

extra_css = ' .txt_articulo{ font-family: sans-serif; font-size: medium; text-align: justify } .contentheading{font-family: serif; font-size: large; font-weight: bold; color: #000000; text-align: center}'

preprocess_regexps = [
(re.compile(r'<iframe width.*?</body>', re.DOTALL|re.IGNORECASE),lambda match: '')
]


def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
return soup


keep_only_tags = [dict(name='div', attrs={'id':['ja-current-content']})]

remove_tags = [
dict(name=['object','link','script','ul','iframe','ol'])
,dict(name='span', attrs={'class':['article-section']})
,dict(name='span', attrs={'class':['content_rating']})
,dict(name='span', attrs={'class':['content_vote']})
,dict(name='span', attrs={'class':['createby']})
,dict(name='div', attrs={'class':['dialog']})
,dict(name='div', attrs={'id':['jcWrapper']})
,dict(name='div', attrs={'class':['buttonheading']})
,dict(name='div', attrs={'class':['authordetails']})
,dict(name='table', attrs={'class':['pagenav']})
,dict(name='div', attrs={'id':['jc_commentFormDiv']})
]

remove_tags_after = dict(name='div', attrs={'id':'sidebar'})


def nz_parse_section(self, url):
soup = self.index_to_soup(url)
current_articles = []

for h4_tag in soup.findAll(attrs={'class':['jazin-title']}):
a = h4_tag.find('a', href=True)
if a is None:
continue
title = self.tag_to_string(a)
url = a.get('href', False)
if not url or not title:
continue
if url.startswith('/'):
url = 'http://www.zonadeajedrez.com'+url

self.log('\t\tFound article:', title)
self.log('\t\t\t', url)
current_articles.append({'title': title, 'url':url,
'description':'', 'date':''})

return current_articles

def parse_index(self):
feeds = []
for title, url in [
('Noticias',
'http://www.zonadeajedrez.com/noticias/noticias.html'),
('Reportajes',
'http://www.zonadeajedrez.com/articulos/reportajes.html'),
('Torneos',
'http://www.zonadeajedrez.com/noticias/torneos.html'),
('Artículos',
'http://www.zonadeajedrez.com/articulos/articulos-de-opinion.html'),
('Cursos',
'http://www.zonadeajedrez.com/aprendizaje/cursos.html'),
('Problemas',
'http://www.zonadeajedrez.com/aprendizaje/problemas.html'),
('Táctica',
'http://www.zonadeajedrez.com/aprendizaje/tactica.html'),
('Partidas Comentadas',
'http://www.zonadeajedrez.com/aprendizaje/partidas-comentadas.html'),
]:
articles = self.nz_parse_section(url)

if articles:
feeds.append((title, articles))
return feeds





Saludos.

Jeff.

PD: Si se puede crear recetas de paginas sin rss. Esta receta por ejemplo la he hecho sin recurrir a los rss.


MARAVILLOSO ¡¡¡ FUNCIONA ¡¡¡ Estimado Jeff ERES UN PUÑETERO CRACK, eres un GENIO, que ilusion me ha podido hacer, el hecho de que funcione tan bien su receta. (he puesto 5 dias de noticias y ha descargado 5 MB, de articulos ordenados, con fotos y problemas y DE TODO), voy a ver como hago para subir el fichero *.mobi para que los usuarios del foro vean que bien queda la cosa.

Esto de Calibre es una caña, tiene un potencial ABSOLUTAMENTE INCREIBLE, muchas gracias por la receta, Espero que Dios se lo pague con muchos e hijas y con una larga y prospera vida... ya... ya... parece que estoy exagerando, pero NO...

Es simplemente PERFECTO.

Salu2. desde España...

PD: uhmm. es muy interesante, por que por lo que veo tambien se podria hacer una "receta" de foros, con los post y mensajes de X dias nuevos. etc... en realidad con cualquier cosa con HTML y que este "bien" formateado...

En fin... esto esta genial... USTED es genial, el Kindle DX es genial, EL Calibre es ALUCINANTE... la tinta electronica es GENIAL... hasta mi perro esta ladrando... y el gato de la vecina Maullando... XD... ;-)

PD: bueno, el libro mobi de articulos lo he partido en trozos, para que se lo pudiese tragar el servidor... descomprimir y enviar al Kindle DX, chupao ¡¡¡

Por cierto, esta muy bien equilbrada esa receta, no tarda tanto como algunas "predefinidas"... Otro detalle interesante...