samyun / southwest-price-drop-bot

Bot that watches Southwest flights for price drops.
Other
74 stars 41 forks source link

Prices Not Found #21

Closed dunningdan closed 6 years ago

dunningdan commented 6 years ago

I just deployed the latest to heroku and my instance is not able to pull up the prices for a flight:

2018-06-13T03:11:26.289516+00:00 app[web.1]: Unable to find flight information on page: https://www.southwest.com/air/booking/select.html?adultPassengersCount=1&departureDate=2018-08-31&departureTimeOfDay=ALL_DAY&destinationAirportCode=FLL&fareType=USD&originationAirportCode=BWI&passengerType=ADULT&returnDate=&returnTimeOfDay=ALL_DAY&seniorPassengersCount=0&tripType=oneway
2018-06-13T03:11:26.297827+00:00 app[web.1]: No flights found!
2018-06-13T03:11:26.297926+00:00 app[web.1]: Min price: Infinity
2018-06-13T03:11:26.298792+00:00 app[web.1]: Got price: 8/31/2018|BWI|FLL|1569 { time: 1528859455733, price: Infinity }

Flight 1569 does exist on the page it logged above.

samyun commented 6 years ago

Some tests are failing. Seems to be an intermittent issue, so I'm going to add additional logging to help isolate this issue.

samyun commented 6 years ago

This should fix it. Dogfooding it now. If I don't get any more errors by tomorrow, I'll merge to master.

https://github.com/samyun/southwest-price-drop-bot/tree/fix_break

dunningdan commented 6 years ago

Thanks for fixing this so fast. It looks like my job is being blocked at the moment. This is what I'm getting:

2018-06-15T03:24:58.487155+00:00 app[web.1]: html: <body>
2018-06-15T03:24:58.487157+00:00 app[web.1]: <h1>Access Denied</h1>
2018-06-15T03:24:58.487159+00:00 app[web.1]:
2018-06-15T03:24:58.487160+00:00 app[web.1]: You don't have permission to access "http://www.southwest.com/air/booking/select.html?" on this server.<p>
2018-06-15T03:24:58.487162+00:00 app[web.1]: Reference #18.95eb7068.1529033068.53a1cfd
2018-06-15T03:24:58.487164+00:00 app[web.1]:
2018-06-15T03:24:58.487166+00:00 app[web.1]:
2018-06-15T03:24:58.487167+00:00 app[web.1]: </p></body>
2018-06-15T03:24:58.517297+00:00 app[web.1]: No flights found!
2018-06-15T03:24:58.517361+00:00 app[web.1]: Min price: Infinity
2018-06-15T03:24:58.519958+00:00 app[web.1]: Got price: 8/31/2018|BWI|FLL|1569 { time: 1529033037324, price: Infinity } 

I'm going to try debugging this this weekend. Any ideas?

Edit: I tried redeploying(maybe hoping I'd get a new IP?) but I'm running into the same error above.

samyun commented 6 years ago

I suspect Southwest got smart and is blocking the IPs. I'm working on finding a workaround. If anyone has any suggestions, feel free to comment :)

flyize commented 6 years ago

I had a similar issue with another southwest tool running on Heroku. Since I'm not smart enough to know how to implement a proxy, I ended up using another cloud provider.

tjs198 commented 6 years ago

@flyize - can you share the alternate cloud provider and how to setup?

flyize commented 6 years ago

@tjs198 Sadly for this project, I've no idea. If anyone could put together some instructions, that would be awesome.

flyize commented 6 years ago

BTW @samyun, the README now mentions installing it on other cloud providers. I'm pretty sure that Heroku still runs on AWS, so it's unlikely that AWS is a viable alternative...

tjs198 commented 6 years ago

seems to be working again, I just got a notification by email and was able save $259 on 3 tickets. Thanks so much, can I send you some beer money?

kmumm commented 6 years ago

Does anyone have instructions on how to setup locally? Thanks

samyun commented 6 years ago

@tjs198 it's not necessary, but if you insist, the email on my account is linked to my PayPal.

@kmumm, I'm working on some instructions. In the meantime, clone the repo, install node and npm, do npm install from a terminal window in the repo directory, and node --trace-warnings index.js

lieu10ant commented 6 years ago

@samyun just found out about this web-app. and phew i finally managed to set everything up after a few hours haha -_- until i got that same error message "Couldn't Fetch Price".

I'm not very computer literate, but I'll keep this tab open in hopes of your instructions. I found the repo code to clone, but i just don't know how to clone it to my local machine, and you lost me from there lol

Thank you so much for this app! It will be extremely useful.

mrginogit commented 6 years ago

I'm getting "Infinity" pricing on my local install too.

The URL it builds for each flight is correct (I can resolve it in my browser if I copy/paste). Got flight page!

But it for some reason is not able to see the pricing on those pages. Min price: Infinity Got price: 1/24/2019|<Departure Airport>|<Destination Airport>{ time: 1531107737371, price: Infinity } 1/24/2019 #1234 <Departure Airport> → <Destination Airport> not cheaper (I sanitized flight numbers and airports)

Maybe Southwest changed their page formatting??

mrginogit commented 6 years ago

Applied the updated get-price.js from evliu and all working again!!

samyun commented 6 years ago

Completed with #32, #26. Alternative cloud provider instructions are tracked by #28.

998877123 commented 5 years ago

@tjs198 it's not necessary, but if you insist, the email on my account is linked to my PayPal.

@kmumm, I'm working on some instructions. In the meantime, clone the repo, install node and npm, do npm install from a terminal window in the repo directory, and node --trace-warnings index.js

i followed instructions for local set up.. i get message " app started on undefined" and nothing happened. any help is greatly appreciated. ty