View Single Post
Old 04-30-2016, 04:04 PM   #12
Sambit
Junior Member
Sambit began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Jan 2016
Device: Kindle
Economic Times Recipe Broken Again and fixed now.

Economic Times again changed its formats so the recipe got broken.

Recipe below:

Code:
__license__   = 'GPL v3'
__copyright__ = '2008-2014, Karthik <hashkendistro@gmail.com>, Darko Miletic <darko.miletic at gmail.com>'
'''
economictimes.indiatimes.com
'''


from calibre.web.feeds.news import BasicNewsRecipe

class TheEconomicTimes(BasicNewsRecipe):
    title                  = 'The Economic Times India'
    __author__             = 'Karthik <hashkendistro@gmail.com>, Darko Miletic <darko.miletic at gmail.com>'
    description            = 'Financial news from India'
    publisher              = 'economictimes.indiatimes.com'
    category               = 'news, finances, politics, India'
    oldest_article         = 1
    max_articles_per_feed  = 100
    no_stylesheets         = True
    use_embedded_content   = False
    simultaneous_downloads = 1
    encoding               = 'utf-8'
    language               = 'en_IN'
    publication_type       = 'newspaper'
    masthead_url           = 'http://economictimes.indiatimes.com/photo/2676871.cms'
    extra_css              = """
                                 body{font-family: Arial,Helvetica,sans-serif}
                                 .foto_mg{font-size: 60%;
                                          font-weight: 700;}
                                 h1{font-size: 150%;}
                                 artdate{font-size: 60%}
                                 artag{font-size: 60%}
                                 div.storycontent{padding-top: 10px}
                             """
    conversion_options     = {'comment'          : description,
                              'tags'             : category,
                              'publisher'        : publisher,
                              'language'         : language
                             }
    remove_tags_before     = dict(name='article')
    remove_tags_after      = [dict(name='article')]
    keep_only_tags		  = [dict(name='h1', attrs={'class':'title'}),
                               dict(name='div', attrs={'class':'bylineFull'}),
                               dict(name='div', attrs={'class':'articleImg'}),
                               dict(name='div', attrs={'class':'artText'})
                              ]
    remove_tags			   = [dict(name='div', attrs={'class':'cmtLinks'}),
                              dict(name='div', attrs={'class':'raltedTopics'}),
                              dict(name='div', attrs={'class':'editorsPick'}),
                              dict(name='div', attrs={'class':'articleImg etSpecial'}),
                              dict(name='div', attrs={'class':'articleImg artAd'}),
                              dict(name='div', attrs={'class':'appPromotion'})
                             ]

    remove_attributes      = ['xmlns']
    feeds                  = [(u'Top Stories', u'http://economictimes.indiatimes.com/rssfeedstopstories.cms'),
                              (u'News', u'http://economictimes.indiatimes.com/News/rssfeeds/1715249553.cms'),
                              (u'Market', u'http://economictimes.indiatimes.com/Markets/markets/rssfeeds/1977021501.cms'),
                              (u'Personal Finance', u'http://economictimes.indiatimes.com/rssfeeds/837555174.cms'),
                              (u'Infotech', u'http://economictimes.indiatimes.com/Infotech/rssfeeds/13357270.cms'),
                              (u'Job', u'http://economictimes.indiatimes.com/Infotech/rssfeeds/107115.cms'),
                              (u'Opinion', u'http://economictimes.indiatimes.com/opinion/opinionshome/rssfeeds/897228639.cms'),
                              (u'Features', u'http://economictimes.indiatimes.com/Features/etfeatures/rssfeeds/1466318837.cms'),
                              (u'Environment', u'http://economictimes.indiatimes.com/rssfeeds/2647163.cms'),
                              (u'NRI', u'http://economictimes.indiatimes.com/rssfeeds/7771250.cms')
                            ]

    # Uses the mobile print version. For web print version use 'http://economictimes.indiatimes.com/articleshow/<article_id>?prtpage=1'
    def print_version(self, url):
        rest, sep, article_id = url.rpartition('/articleshow/')
        # return 'http://m.economictimes.com/PDAET/articleshow/' + article_id
        return 'http://economictimes.indiatimes.com/articleshow/' + article_id+ '?prtpage=1'

    def get_article_url(self, article):
        rurl = article.get('link',  None)
        if (rurl.find('/quickieslist/') > 0) or (rurl.find('/quickiearticleshow/') > 0):
            return None
        return rurl

    def preprocess_html(self, soup):
        for item in soup.findAll(style=True):
            del item['style']
        return soup

    def postprocess_html(self, soup, first_fetch):
        return self.adeify_images(soup)
Sambit is offline   Reply With Quote