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 = your_clients_account_email_address
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 = your_account_email
BptScraper::Login.password = your_account_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: your_account_email,
password: your_account_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.