try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen import re from calibre.web.feeds.news import BasicNewsRecipe class JBPress(BasicNewsRecipe): title = u'JBPress' language = 'ja' description = u'Japan Business Press New articles (using small print version)' __author__ = 'Ado Nishimura' needs_subscription = True oldest_article = 7 max_articles_per_feed = 100 remove_tags_before = dict(id='wrapper') no_stylesheets = True feeds = [('JBPress new article', 'http://feed.ismedia.jp/rss/jbpress/all.rdf')] def get_cover_url(self): return 'http://www.jbpress.co.jp/common/images/v1/jpn/common/logo.gif' def get_browser(self): html = '''
''' br = BasicNewsRecipe.get_browser(self) if self.username is not None and self.password is not None: br.open('http://jbpress.ismedia.jp/articles/print/5549') response = br.response() response.set_data(html) br.set_response(response) br.select_form(nr=0) br["login"] = self.username br['password'] = self.password br.submit() return br def print_version(self, url): url = urlopen(url).geturl() # resolve redirect. return url.replace('/-/', '/print/') def preprocess_html(self, soup): # remove breadcrumb h3s = soup.findAll('h3') for h3 in h3s: if re.compile('^JBpress>').match(h3.string): h3.extract() return soup