View Single Post
Old 08-20-2021, 05:10 PM   #1
rasteps
Zealot
rasteps began at the beginning.
 
Posts: 140
Karma: 10
Join Date: Sep 2010
Device: Kindle, Android phone
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)]
rasteps is offline   Reply With Quote