mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
from calibre.web.feeds.news import BasicNewsRecipe
|
|
from calibre.ebooks.BeautifulSoup import BeautifulSoup
|
|
|
|
|
|
class JSOnline(BasicNewsRecipe):
|
|
title = u'Milwaukee Journal Sentinel'
|
|
language = 'en'
|
|
__author__ = 'Krittika Goyal'
|
|
oldest_article = 2 # days
|
|
max_articles_per_feed = 25
|
|
|
|
no_stylesheets = True
|
|
remove_tags_before = dict(name='div', attrs={'id': 'wrapper'})
|
|
remove_tags = [
|
|
dict(name='iframe'),
|
|
dict(name='div', attrs={'class': [
|
|
'right_float', 'headlines', 'side_section_container poll', 'side_section_container html']}),
|
|
]
|
|
|
|
feeds = [
|
|
('Main Headlines',
|
|
'http://www.jsonline.com/rss?c=y&path=%2F'),
|
|
('Business',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fbusiness'),
|
|
('Milwaukee marketplace',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fmarketplace'),
|
|
('Top Entertainment Stories',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Ftopstories'),
|
|
('Arts and Books',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Farts'),
|
|
('Movies',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Fmovies'),
|
|
('Music and Nightlife',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Fmusicandnightlife'),
|
|
('Dining',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Fdining'),
|
|
('Fashion',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Ffashion'),
|
|
('Health and Fitness',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Fhealth'),
|
|
('Top Metro Stories',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fnews%2Ftopstories'),
|
|
('Crime',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fnews%2Fcrime'),
|
|
('Sports',
|
|
'http://www.jsonline.com/rss?c=y&path=%2Fsports'),
|
|
]
|
|
|
|
# def print_version(self, url):
|
|
# return url+'/0'
|
|
|
|
def preprocess_html(self, soup):
|
|
story = soup.find(name='div', attrs={'id': 'mainContent'})
|
|
soup = BeautifulSoup(
|
|
'<html><head><title>t</title></head><body></body></html>')
|
|
body = soup.find(name='body')
|
|
body.insert(0, story)
|
|
return soup
|