BrownPaperTickets Scraper/API Wrapper

This is a simple wrapper to make interacting with BrownPaperTicket's API much easier. Additionally, scraper utilities, such as creating a session via signing in for interacting with the non-API-accessible portions of the site.

Installation

Add this line to your application's Gemfile:

gem 'bpt_scraper'

And then execute:

$ bundle

Or install it yourself as:

$ gem install bpt_scraper

Usage

To use the API wrapper, start by configuring the PullFeed class:

BptScraper::PullFeed.developer_id = your_developer_id
# and optionally set client/account
BptScraper::PullFeed.client = 

The PullFeed class has methods for the six main API endpoints at BPT:

  • Event List - event_list
  • Date List - date_list
  • Price List - price_list
  • Event Sales - event_sales
  • Date Sales - date_sales
  • Order List - order_list

Here is an example usage:

request = BptScraper::PullFeed.new
response = request.event_list
puts response.parsed_response

All API endpoint methods return a HTTParty response object.

To use the scraper tool's session creator, first configure the Login class:

BptScraper::Login.email = 
BptScraper::Login.password = 

Then simply send the request:

request = BptScraper::Login.new
response = request.create_session
if response
    # do something else
end

Alternatively, you can configure the Login class in the moment:

request = BptScraper::Login.new(
    email: ,
    password: 
)
response = request.create_session
if response
    # do something else
end

Development

BptScraper uses the dotenv gem to handle environmental variables. Before running tests, add a .env file to the root of the gem directory. In in, set the following three variables:

EMAIL=<your_account_email>
PASSWORD=<your_account_password>
DEVELOPER_ID=<your_developer_id>

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/bartboy011/bpt_scraper. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.