mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-10-31 02:27:01 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| from calibre.web.feeds.news import BasicNewsRecipe
 | |
| import re
 | |
| 
 | |
| class DrawAndCook(BasicNewsRecipe):
 | |
|     title               = 'DrawAndCook'
 | |
|     __author__          = 'Starson17'
 | |
|     __version__         = 'v1.10'
 | |
|     __date__            = '13 March 2011'
 | |
|     description         = 'Drawings of recipes!'
 | |
|     language            = 'en'
 | |
|     publisher           = 'Starson17'
 | |
|     category            = 'news, food, recipes'
 | |
|     use_embedded_content= False
 | |
|     no_stylesheets      = True
 | |
|     oldest_article      = 24
 | |
|     remove_javascript   = True
 | |
|     remove_empty_feeds    = True
 | |
|     cover_url           = 'http://farm5.static.flickr.com/4043/4471139063_4dafced67f_o.jpg'
 | |
|     INDEX = 'http://www.theydrawandcook.com'
 | |
|     max_articles_per_feed = 30
 | |
| 
 | |
|     remove_attributes = ['style', 'font']
 | |
| 
 | |
|     def parse_index(self):
 | |
|         feeds = []
 | |
|         for title, url in [
 | |
|                             ("They Draw and Cook", "http://www.theydrawandcook.com/")
 | |
|                             ]:
 | |
|             articles = self.make_links(url)
 | |
|             if articles:
 | |
|                 feeds.append((title, articles))
 | |
|         print 'feeds are: ', feeds
 | |
|         return feeds
 | |
| 
 | |
|     def make_links(self, url):
 | |
|         soup = self.index_to_soup(url)
 | |
|         title = ''
 | |
|         date = ''
 | |
|         current_articles = []
 | |
|         soup = self.index_to_soup(url)
 | |
|         featured_major_slider = soup.find(name='div', attrs={'id':'featured_major_slider'})
 | |
|         recipes = featured_major_slider.findAll('li', attrs={'data-id': re.compile(r'artwork_entry_\d+', re.DOTALL)})
 | |
|         for recipe in recipes:
 | |
|             page_url = self.INDEX + recipe.a['href']
 | |
|             print 'page_url is: ', page_url
 | |
|             title = recipe.find('strong').string
 | |
|             print 'title is: ', title
 | |
|             current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':date})
 | |
|         return current_articles
 | |
| 
 | |
|     keep_only_tags     = [dict(name='h1', attrs={'id':'page_title'})
 | |
|                          ,dict(name='section', attrs={'id':'artwork'})
 | |
|                          ]
 | |
| 
 | |
|     remove_tags = [dict(name='article', attrs={'id':['recipe_actions', 'metadata']})
 | |
|                   ]
 | |
| 
 | |
|     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;}
 | |
|                     img {max-width:100%; min-width:100%;}
 | |
|                     p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
 | |
|                     body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
 | |
| 		'''
 | |
| 
 |