New York Times Cooking [submission]
This recipe was originally created by @Gourav. I have been using it for months now and it works great. I set it to download once a week on Sunday and I get a great weekly recipe magazine. So I would like to submit it for the official downloads.
#!/usr/bin/env python
# vim:fileencoding=utf-8
from calibre.web.feeds.news import BasicNewsRecipe
class NYTCooking(BasicNewsRecipe):
title = 'NY Times Cooking'
description = 'NY Times Cooking Magazine'
__author__ = 'gourav'
oldest_article = 2
max_articles_per_feed = 30
auto_cleanup = True
auto_cleanup_keep = '//div[@class="recipe-intro"]|'\
'//div[@class="recipe-instructions"]|'
def parse_index(self):
url = 'https://cooking.nytimes.com/topics/what-to-cook-this-week'
br = self.get_browser()
response = br.open(url)
html = response.read()
soup = BeautifulSoup(html)
articles = soup.find_all('div', class_='card-info-wrapper')
feed = []
for i in articles:
article = {}
article['url'] = i.find('a')['href']
if article['url'].startswith('/'):
article['url'] = 'https://cooking.nytimes.com' + article['url']
article['title'] = i.find('h3').text.strip()
author = i.find('p', class_='card-byline')
article['author'] = author.text if author is not None else 'Unknown'
feed.append(article)
return [('Recipes', feed)]
|