-
-
Notifications
You must be signed in to change notification settings - Fork 117
✨ Reserveamerica #369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
✨ Reserveamerica #369
Conversation
…dow and campground
…-provider ReserveAmerica campsites --start-date 2025-07-01 --end-date 2025-08-01 --campground 32614`
|
Hey @thisIsMikeKane - thanks for the contribution! Using Selenium / scraping HTML instead of hitting APIs is something I would need to consider. In the past I've meant I'm not sure if they've implemented it or not - but one caveat here that would be an absolute blocker is if ReserveAmerica has something like captcha to prevent bots from scraping their sites. Here's a canned response that I've used in the past for providers who implement
|
|
@juftin , that is a reasonable policy. I initially considered creating a browser extension for "human-in-the-loop" scraping, but when I found camply it seems like a good platform to build on. I was mainly looking to do some more advanced filters that ReserveAmerica offered for one-off searches. ReserveAmerica does have a captcha, which is why my approach does not use a headless browser (to allow user interaction). I don't think this approach would work with the primary containerized use case of camply. It could work well for the one-off search via the CLI. With all that, its understandable if this pull-request is closed.
|
|
Is this going to be merged in? Thanks for all the effort, this is a great tool and I would love to use this provider! |
This is still very much a work-in-progress to add Reserve America as a provider (issue #321 ).
The APIs suggested in #321 either seem to be depreciated or undocumented and not available to the public.
Simple
requestcalls do not easily work since Reserve America uses a series of redirects to ensure the user is human, seems to track mouse movement, and even uses captchas. All of these issues can be overcome by scraping the pages for the necessary information using scrapy while rendering the pages with a full browser in Selenium.The following shell command is a working proof-of-concept of this pipeline. It returns a list of camply
AvailableCampsiteobjects for each campsite for each day. There are a lot of dummy/place-holder values that need to fixed, but I hope this is a good start.@juftin since this isn't ready to merge into main, could you create a new branch. I'm not sure I have the capacity to push this over the finish line anytime soon, but I hope the community can pick-up from here.