5

Is there a package in the repositories (other than Calibre) that could be used to take an RSS feed and convert the entries into an ebook for reading?

Calibre seems a bit too bulky to use to simply grab a single feed and spit out the entries as perhaps an epub.

Calibre has a manual section for grabbing RSS feeds but I am not too keen on fiddling with Python.

  • 2
    Are you and Jorge open to having a python script do it? I might hack something together if you will. – mreq Jan 13 '14 at 15:51
  • 2
    Please don't cross post: ebooks.stackexchange.com/q/551 – Seth Jan 14 '14 at 21:33
  • is it acceptable for you to use non repository software?if so i know one,probably. – Registered User Jan 18 '14 at 8:55
  • @Seth Similar questions, very different focus points. – Stephen Michael Kellat Jan 18 '14 at 14:33
  • @StephenMichaelKellat I don't see the "very different" content. What's added or subtracted in this question versus that? – belacqua Apr 24 '14 at 23:40
2

You can extract xml to text with just bash and wget.

e.g;

# Setup
URI=http://www.nydailynews.com/new-york/index_rss.xml
LINES=20 #max number of lines
EXEC="wget -q -O temp.temp"
clear

# Start
$EXEC $URI
cat temp.temp | grep title |\

# use sed loop to delete all LFs bar last line
sed ':a;N;$!ba;s/\n/ /g' |\

#replace all titles and descriptions with LFs
sed -e 's/<title>/\n\n/g' |\
sed -e 's/<description>/\n/g' |\

# uncook
sed -e 's/&lt;/</g' |\
sed -e 's/&gt;/>/g' |\
sed -e 's/nbsp;/ /g' |\
sed -e 's/&amp;/+/g' |\

#delete URLs
sed -e 's/http.[^<]*//g' |\

#replace other angled brackets with space
sed -e 's/<[^>]*>/ /g' |\

head -n $(($LINES + 2)) |\
tail -n $(($LINES))
1

Not software but I have used http://newstoebook.com/ and was impressed with how well it worked.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.