View Single Post
Old 06-17-2012, 02:03 PM   #2
terminalveracity
Member
terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.terminalveracity got an A in P-Chem.
 
Posts: 18
Karma: 6000
Join Date: Jun 2012
Device: Kindle
Here's a recipe for Signs of the Times using their main feed

Code:
import re
from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import BeautifulSoup

class SignOfTheTimes(BasicNewsRecipe):
    title          = u'Sign of the Times'
    language       = 'en'
    __author__     = 'TerminalVeracity'
    oldest_article = 31#days
    max_articles_per_feed = 50
    use_embedded_content = False

    extra_css             = """
                               h2{font-size: large; margin: .2em 0; text-decoration: none;}
                               .image-caption{font-size: medium; font-style:italic; margin: 0 0 1em 0;}
                               .article-info{font-size: small; font-style:italic; margin: 0 0 .5em 0;}
                            """

    remove_stylesheets = True
    remove_tags = [
       dict(name='div', attrs={'class':['article-icon','article-print','article-footer']}),
       dict(name='span', attrs={'class':['tiny']}),
    ]

    feeds          = [('Signs', 'http://www.sott.net/xml_engine/signs_rss'),]

    def preprocess_html(self, soup):
        story = soup.find(name='div', attrs={'class':'article'})
        soup = BeautifulSoup('<html><head><title>t</title></head><body></body></html>')
        body = soup.find(name='body')
        body.insert(0, story)
        return soup
The only niggling problem is that there's a stray break between the image and the caption text that I haven't figured out how to remove. Any hints?
Code:
<div class="image-caption"><br /><span class="caption">Microsoft has to buy patents for new Operating system? </span>
terminalveracity is offline   Reply With Quote