mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Improved recipe for The NEw York Review of Books
This commit is contained in:
parent
81b027e023
commit
d84fd43c5a
@ -9,7 +9,7 @@ recipes = [
|
|||||||
'nytimes', 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj',
|
'nytimes', 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj',
|
||||||
'wired', 'globe_and_mail', 'smh', 'espn', 'business_week',
|
'wired', 'globe_and_mail', 'smh', 'espn', 'business_week',
|
||||||
'ars_technica', 'upi', 'new_yorker', 'irish_times', 'iht',
|
'ars_technica', 'upi', 'new_yorker', 'irish_times', 'iht',
|
||||||
'discover_magazine', 'scientific_american',
|
'discover_magazine', 'scientific_american', 'new_york_review_of_books',
|
||||||
]
|
]
|
||||||
|
|
||||||
import re, imp, inspect, time
|
import re, imp, inspect, time
|
||||||
|
50
src/calibre/web/feeds/recipes/new_york_review_of_books.py
Normal file
50
src/calibre/web/feeds/recipes/new_york_review_of_books.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
||||||
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
|
'''
|
||||||
|
nybooks.com
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
from lxml import html
|
||||||
|
from calibre.constants import preferred_encoding
|
||||||
|
|
||||||
|
class NewYorkReviewOfBooks(BasicNewsRecipe):
|
||||||
|
|
||||||
|
title = u'New York Review of Books'
|
||||||
|
description = u'Book reviews'
|
||||||
|
__author__ = 'Kovid Goyal'
|
||||||
|
|
||||||
|
remove_tags_before = {'id':'container'}
|
||||||
|
remove_tags = [{'class':['noprint', 'ad', 'footer']}, {'id':'right-content'}]
|
||||||
|
|
||||||
|
def parse_index(self):
|
||||||
|
root = html.fromstring(self.browser.open('http://www.nybooks.com/current-issue').read())
|
||||||
|
date = root.xpath('//h4[@class = "date"]')[0]
|
||||||
|
self.timefmt = ' ['+date.text.encode(preferred_encoding)+']'
|
||||||
|
articles = []
|
||||||
|
for tag in date.itersiblings():
|
||||||
|
if tag.tag == 'h4': break
|
||||||
|
if tag.tag == 'p':
|
||||||
|
if tag.get('class') == 'indented':
|
||||||
|
articles[-1]['description'] += html.tostring(tag)
|
||||||
|
else:
|
||||||
|
href = tag.xpath('descendant::a[@href]')[0].get('href')
|
||||||
|
article = {
|
||||||
|
'title': u''.join(tag.xpath('descendant::text()')),
|
||||||
|
'date' : '',
|
||||||
|
'url' : 'http://www.nybooks.com'+href,
|
||||||
|
'description': '',
|
||||||
|
}
|
||||||
|
articles.append(article)
|
||||||
|
|
||||||
|
return [('Current Issue', articles)]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user