![]() |
Flight Finding program
Hey all,
I've been working on a flight finding program that queries ITA's matrix for flights and alerts you of cheap/low ppm ones. I took a break for a few months due to life events, but I am going to be starting up again Right now, it only does searches out of ORD to any number of inputted destinations between the specified dates for the specified trip length range. It then prints out the lowest ppm and lowest priced trips per destination I believe. I was working on making it RESTful since I don't like doing UI work. After that, setting up a DB to cache results would probably be best. Matrix likes to throw errors relating to random failures or exceeding quotas a lot. If anyone wants to help out, I have it on github here: https://github.com/HGF/flight_finder |
Please consider merging with this project. You'll see that some of the legwork is done already. There are some more recent updates in the branches. They've already put a little consideration in how to store the results in a (NoSQL) database.
https://github.com/mayanez/flight_scraper |
The goals of that project and my project are different. I am not trying to determine a correlation between seat availability and price fare information. I just want to find great flight deals for either mileage runs or cheap vacations by essentially automating the process that everyone already does on Matrix. There also hasn't been an update in over 6 months and a pull request has been pending for over a month.
I also want to do a lot of the legwork, so I can learn. |
Hello,
What help do you need? |
Originally Posted by mgo72
(Post 23594619)
Hello,
What help do you need? I should create a TODO list in the readme for what needs to be done to give people some guidance |
I have written something similar. My suggestion is to look for apis if you can. You will have your IP blocked by Matrix if they determine that you are scraping their site. I learned the hard way, but probably because I got ambitious and multithreaded it. Look up the QPX api and see if you can get access to that. I am in the process of refactoring now to use that.
|
Originally Posted by CAETravlr
(Post 23596057)
I have written something similar. My suggestion is to look for apis if you can. You will have your IP blocked by Matrix if they determine that you are scraping their site. I learned the hard way, but probably because I got ambitious and multithreaded it. Look up the QPX api and see if you can get access to that. I am in the process of refactoring now to use that.
|
One problem is that ITA Matrix searches are only yay deep. You will never see everything, especially if you are searching for periods longer than single days.
Furthermore, results may differ between the web version and the mobile app. Caching can be interesting for historical comparison, but for current results, I don't know. You would be caching something that comes out of a cache already. :-) |
Originally Posted by HGF
(Post 23601020)
Using the QPX API costs money per query though.
|
Originally Posted by HGF
(Post 23601020)
Using the QPX API costs money per query though.
|
.....
|
i get error on mac terminal:
python FlightFinder.py Traceback (most recent call last): File "FlightFinder.py", line 5, in <module> from ITADao import ITADao File "flight_finder-master/flight_finder/ITADao.py", line 4, in <module> import requests ImportError: No module named requests |
It looks like you're just missing the requests module? Can you pip install requests?
|
Originally Posted by sokolov
(Post 23630607)
Would you have the link to the pricing structure?
How does one get seat availability from ITA? Is the solution just to increase the number of passengers (up to 9)? That would significantly increase the number of queries. Why not just match it with fare class availability via say, ExpertFlyer? |
Originally Posted by HGF
(Post 23594365)
The goals of that project and my project are different. I am not trying to determine a correlation between seat availability and price fare information. I just want to find great flight deals for either mileage runs or cheap vacations by essentially automating the process that everyone already does on Matrix. There also hasn't been an update in over 6 months and a pull request has been pending for over a month.
I also want to do a lot of the legwork, so I can learn. When I get the chance, I'll take a look at your code and see if there's a fast way to port over some of the other code. You'll probably want to look into using Tor with Python to allow multithreaded queries. Also, when you make requests from ITA, make a driver that repeats requests until you get past the "server capacity exceeded" error, or 1 minute passes. |
| All times are GMT -6. The time now is 5:13 am. |
This site is owned, operated, and maintained by MH Sub I, LLC dba Internet Brands. Copyright © 2026 MH Sub I, LLC dba Internet Brands. All rights reserved. Designated trademarks are the property of their respective owners.