Skip to content

Repository files navigation

Bulbasaur

Bulbasaur was created with the objective of sharing components used by the Preadly crawler. It is a module for crawler operations, which uses the XML parser Nokogiri. Bulbasaur helps to simplify those HTML operations. This is one of contributions of pread.ly to the open source community.

Build StatusCode ClimateTest Coverage

Installation

Add this line to your application's Gemfile:

gem'bulbasaur'

Or to get the latest updates:

gem'bulbasaur',github: 'preadly/bulbasaur',branch: 'master'

And then execute:

$ bundle

Or install it manually with:

$ gem install bulbasaur

Usage

Bulbasaur has three main operations: Extract, Replace and Other.

Extract

Has four sub-operations:

  • ExtractImagesFromHTML
  • ExtractImagesFromYoutube
  • ExtractImagesFromVimeo
  • ExtractImagesFromAllResorces
html="<img src='test.jpg' alt='test' /><img src='test-2.jpg' alt='test' />"images=Bulbasaur::ExtractImagesFromHTML.new(html).callputsimages#print [{url: 'test.jpg', alt='alt'}, {url: 'test-2.jpg', alt='test'}]

Replaces

Has two sub-operations:

  • ReplacesByTagImage
  • ReplacesByTagLink
html="<img src='test.jpg' alt='test' />"image_replaces=[{original_image_url:"test.jpg",url: "new-image.png"}]Bulbasaur::ReplacesByTagImage.new(html,image_replaces).callputshtml#print <img src='new-image.png' alt='test' />

Others

  • NormalizeURL
base_url='http://github.com'context_url='preadly'url=Bulbasaur::NormalizeURL.new(base_url,context_url).callputsurl#print http://github.com/preadly

For more information about the components, run the RSpec tests with parameter --format d.

rspec --formatd --color

Contributing

  1. Fork it ( https://github.com/preadly/bulbasaur );
  2. Create your feature branch (git checkout -b my-new-feature);
  3. Commit your changes (git commit -am 'Add some feature');
  4. Push to the branch (git push origin my-new-feature);
  5. Create a new Pull Request.

About

Helper Preadly crawler operations

Resources

Stars

2 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages