Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sakan811/find-the-best-place-to-stay-with-price-per-review

Find the Best Place to Stay with Price/Review
https://github.com/sakan811/find-the-best-place-to-stay-with-price-per-review

booking css data data-science django hotel hotel-booking hotels html javascript react webapp webscraping webscraping-data webscrapping webscrapping-python website

Last synced: 3 days ago
JSON representation

Find the Best Place to Stay with Price/Review

Awesome Lists containing this project

README

        

# Finding the Best Place to Stay with Price per Review from Booking.com using Web-Scraping

**Finding** the **best place** to stay with **Price/Review** from Booking.com using **web-scraping** via a local **web-app**.

Aim to provide **Price/Review Score** of the places located in the specified city,
when finding a place to stay in that city during a trip.

A **lower Price/Review Score** indicates that the place is **not expensive**, yet, with a **great review score**.

## Status

[![CodeQL](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/codeql.yml/badge.svg)](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/codeql.yml)

[![Backend Test](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/backend-test.yml/badge.svg)](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/backend-test.yml)

[![Frontend Test](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/frontend-test.yml/badge.svg)](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/frontend-test.yml)

[![Trivy Docker Scan](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/trivy-scan.yml/badge.svg)](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/trivy-scan.yml)

[![Go Tests](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/go-test.yml/badge.svg)](https://github.com/sakan811/Find-the-Best-Place-to-Stay-with-Price-per-Review/actions/workflows/go-test.yml)

## How to Use the Web App

### Step 1: Set Up the Web App

1. Install Docker Desktop
- [Click here](https://www.docker.com/products/docker-desktop) to download **Docker Desktop**.
- Follow the instructions on the website to install it on your computer.
2. Download the executable file inside [web-app-exe](./web-app-exe/) folder depend on your OS.
- Windows: [find-place-web-app_windows_amd64.exe](get_auth_headers_exe/find-place-web-app_windows_amd64.exe)
- MacOS (Intel): [find-place-web-app_darwin_amd64](get_auth_headers_exe/find-place-web-app_darwin_amd64)
- MacOS (Apple Silicon): [find-place-web-app_darwin_arm64](get_auth_headers_exe/find-place-web-app_darwin_arm64)
3. Place the file in any directory of your choice.

### Step 2: Access the Web App

1. Make sure that the Docker Desktop is running.
- If not, start the Docker Desktop.
2. Run the executable file.
- A terminal will open, and the app will intercept the network for necessary headers, then pull the Docker images,
start the containers, and navigate you to the web app via your default browser.
- Close the terminal to close the web app and Docker containers.
3. URL to the web app is [http://localhost:5000/](http://localhost:5000/)

## Disclaimer

- When filling out the form, please use abbreviations for **currency**:
- For example, if you want to select the US Dollar, enter **USD** in the currency tab.

- If you tick the **Scrape Hotel Properties Only** box, the scraper will only gather data on hotels.
- If you leave this box unticked, the scraper will retrieve information on all types of places available through Booking.com in the specified city.

- When entering the **country** in the form, please provide the **full name** of the country.
- **Do not** use abbreviations.