Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Scrapes flight data from Google Flights and analyzes flight prices. Can determine optimal flight from date, place, and price.

License

Notifications You must be signed in to change notification settings

akbence/flight_analysis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

Flight Analysis

This project provides tools and models for users to analyze, forecast, and collect data regarding flights and prices. There are currently many features in initial stages and in development. The current features (as of 8/29/22) are:

  • Scraping tools for Google Flights
  • Base analytical tools/methods for price forecasting/summary
  • Models to demonstrate ML techniques on forecasting
  • API for access to previously collected data

Table of Contents

Overview

Flight price calculation can either use newly scraped data (scrapes upon running it) or cached data that reports a price-change confidence determined by a trained model. Currently, many features of this application are in development. You can find updates and use some of the functionalities online here.

Usage

The web scraping tool is currently functional only for scraping round trip flights for a given origin, destination, and date range. It can be easily used in a script or a jupyter notebook.

Note that the following packages are absolutely required as dependencies:

  • tqdm
  • selenium (make sure to update your chromedriver!)
  • json

You can easily install this by running pip install -r requirements.txt.

The main scraping function that makes up the backbone of most other functionalities is scrape_data. Note that the cache parameter refers to whether this output should be saved in a caching system. See further documentation on caching (to be available soon).

# Parameter documentation
# scrape_data(origin : str, destination : str, date_leave : str, date_return : str, cache : bool = False) -> dict
# Try to keep the dates in format YYYY-mm-dd

result = scrape_data('JFK', 'IST', '2022-05-20', '2022-06-10')

# Can also input list of date strings for date_leave and date_return

leave_dates = ['2022-05-20', '2022-05-21', '2022-05-22']
return_dates = ['2022-06-10', '2022-06-11', '2022-06-12']
range_result = scrape_data('JFK', 'IST', leave_dates, return_dates)

Updates & New Features

Real Usage

Here are some great flights I was able to find and actually booked when planning my travel/vacations:

  • NYC ➡️ AMS (May 9), AMS ➡️ IST (May 12), IST ➡️ NYC (May 23) | Trip Total: $611 as of March 7, 2022

About

Scrapes flight data from Google Flights and analyzes flight prices. Can determine optimal flight from date, place, and price.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%