mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
New recipe for The Hartford Courant by Being
This commit is contained in:
parent
5e1a8b17f2
commit
76a5d5bffe
85
resources/recipes/hartford_courant.recipe
Normal file
85
resources/recipes/hartford_courant.recipe
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
from __future__ import with_statement
|
||||||
|
__license__ = 'GPL 3'
|
||||||
|
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||||
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class ChicagoTribune(BasicNewsRecipe):
|
||||||
|
|
||||||
|
title = 'The Hartford Courant'
|
||||||
|
__author__ = 'Being and Sujata Raman'
|
||||||
|
description = 'Politics, local and business news from Hartford'
|
||||||
|
language = 'en'
|
||||||
|
|
||||||
|
use_embedded_content = False
|
||||||
|
no_stylesheets = True
|
||||||
|
remove_javascript = True
|
||||||
|
|
||||||
|
keep_only_tags = [dict(name='div', attrs={'class':["story","entry-asset asset hentry"]}),
|
||||||
|
dict(name='div', attrs={'id':["pagebody","story","maincontentcontainer"]}),
|
||||||
|
]
|
||||||
|
remove_tags_after = [ {'class':['photo_article',]} ]
|
||||||
|
|
||||||
|
remove_tags = [{'id':["moduleArticleTools","content-bottom","rail","articleRelates module","toolSet","relatedrailcontent","div-wrapper","beta","atp-comments","footer"]},
|
||||||
|
{'class':["clearfix","relatedTitle","articleRelates module","asset-footer","tools","comments","featurePromo","featurePromo fp-topjobs brownBackground","clearfix fullSpan brownBackground","curvedContent"]},
|
||||||
|
dict(name='font',attrs={'id':["cr-other-headlines"]})]
|
||||||
|
extra_css = '''
|
||||||
|
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
|
||||||
|
h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
||||||
|
.byline {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;}
|
||||||
|
.date {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;}
|
||||||
|
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
.copyright {font-family:Arial,Helvetica,sans-serif;font-size:xx-small;text-align:center}
|
||||||
|
.story{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
.entry-asset asset hentry{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
.pagebody{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
.maincontentcontainer{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
.story-body{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
||||||
|
'''
|
||||||
|
feeds = [
|
||||||
|
('Breaking News', 'http://feeds.feedburner.com/courant-breaking-news/'),
|
||||||
|
('Connecticut News', 'http://feeds.feedburner.com/courant-connecticut-news/'),
|
||||||
|
('Hartford News', 'http://feeds.feedburner.com/courant-hartford/'),
|
||||||
|
('West Hartford News', 'http://feeds.feedburner.com/courant-west-hartford/'),
|
||||||
|
('Politics', 'http://feeds.feedburner.com/courant-politics/'),
|
||||||
|
('Opinion', 'http://feeds.feedburner.com/courant-opinion/'),
|
||||||
|
('Editorials', 'http://feeds.feedburner.com/courant-editorials/'),
|
||||||
|
('Letters', 'http://feeds.feedburner.com/courant-letters/'),
|
||||||
|
('Bob Englehart', 'http://feeds2.feedburner.com/BobEnglehartEnglehartsView'),
|
||||||
|
('Business', 'http://feeds.feedburner.com/courant-business/'),
|
||||||
|
('Consumer', 'http://feeds.feedburner.com/courant-consumer/'),
|
||||||
|
('Shopping', 'http://feeds.feedburner.com/courant-shopping/'),
|
||||||
|
('Arts & Theater', 'http://feeds.feedburner.com/courant-entertainment/'),
|
||||||
|
('Entertainment', 'http://feeds.feedburner.com/courant-stage/'),
|
||||||
|
('Music', 'http://feeds.feedburner.com/courant-music/'),
|
||||||
|
('TV', 'http://feeds.feedburner.com/courant-tv/'),
|
||||||
|
('Movies', 'http://feeds.feedburner.com/courant-movies/'),
|
||||||
|
#('Metromix headlines', 'http://feeds.feedburner.com/metromix/topheadlines/'),
|
||||||
|
#('Metromix events', 'http://feeds.feedburner.com/metromix/events/'),
|
||||||
|
#('Metromix restaurants', 'http://feeds.feedburner.com/metromix/restaurants/'),
|
||||||
|
('Peter Marteka', 'http://feeds.feedburner.com/courant-marteka-column/'),
|
||||||
|
('Susan Campbell', 'http://feeds.feedburner.com/courant-campbell-column/'),
|
||||||
|
('Helen Ubinas', 'http://feeds.feedburner.com/courant-helen-ubinas-column/'),
|
||||||
|
('Jim Shea', 'http://feeds.feedburner.com/courant-jim-shea-column/'),
|
||||||
|
('Tom Condon', 'http://feeds.feedburner.com/courant-tom-condon-column/'),
|
||||||
|
('Colin McEnroe', 'http://feeds.feedburner.com/courant-colin-mcenroe-column/'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def get_article_url(self, article):
|
||||||
|
print article.get('feedburner_origlink', article.get('guid', article.get('link')))
|
||||||
|
return article.get('feedburner_origlink', article.get('guid', article.get('link')))
|
||||||
|
|
||||||
|
|
||||||
|
def postprocess_html(self, soup, first_fetch):
|
||||||
|
for t in soup.findAll(['table', 'tr', 'td']):
|
||||||
|
t.name = 'div'
|
||||||
|
|
||||||
|
for tag in soup.findAll('form', dict(attrs={'name':["comments_form"]})):
|
||||||
|
tag.extract()
|
||||||
|
for tag in soup.findAll('font', dict(attrs={'id':["cr-other-headlines"]})):
|
||||||
|
tag.extract()
|
||||||
|
|
||||||
|
return soup
|
Loading…
x
Reference in New Issue
Block a user