Scrape comics strips from feed, embed the strip images and create a new feed


RSS feeds of comics sites usually contains the links to a webpage but not the strip images.
This module iterates on the items on a feed and parse the webpages to create a new feed with embedded comic strips.

Supported websites:

  • GoComics

The list of parsers is meant to be extensible, see lib/parser.js.
PRs are welcome.

Inspired by gocomics-scrape and re-implemented using Node.

npm install comics-feed
comics-feed [.rss|url]

Turns this

into this

(rendered by Firefox)

parsers/*.js will be installed in plugins in as of 0.0.9. A parser should have this interface.

 * Parser = {
 *   name,
 *   match(),
 *   scrape()
 * }
 * match():
 * @param {Object}   siteUrl  parsed url for the comic strips site
 * Returns whether this scraper can handle this site
 * scrape():
 * @param {String}   baseUrl  url of the webpage containing the comic strip
 * @param {Object}   $        [cheerio]( object containing the parsed page
 * @param {Function} callback callback function to return the parsed strip image URL
 * callback:
 * @param {Object}   error    error object if one occurs
 * @param {String}   img_url  the parsed strip image URL
 */ (credits to eguendelman)

  • error handling
    • invalid URL
    • malformed feed
    • scraping error
  • adds pubDate for items
  • re-entrance
  • module globals cleanup

heroku-comics-feed uses this module to provide a subscribable RSS service.