Web scraping and Big Data analysis of meteorological data from six Moroccan cities using BeautifulSoup for data extraction, Hadoop for storage, Apache Spark for processing, and Flask for visualization.
# π Meteorological Data Analysis in Morocco with Big Data Tools
This project focuses on extracting, processing, and visualizing meteorological data from six major Moroccan cities using a Big Data architecture. We combine **web scraping**, **distributed storage**, **parallel data processing**, and a simple **web interface** to demonstrate the power of end-to-end data engineering and analysis workflows.
---
## π Project Overview
- π **Data Extraction**: Scraping weather data from online sources using `BeautifulSoup`.
- π **Storage**: Storing the collected data in a **Hadoop Distributed File System (HDFS)**.
- βοΈ **Processing**: Transforming and analyzing the data using **Apache Spark**.
- π **Visualization**: Creating a simple and interactive web dashboard using **Flask**.
---
## ποΈ Target Cities
The analysis includes meteorological data from the following Moroccan cities:
- Casablanca
- LaΓ’youne
- Ifrane
- Ouarzazate
- TΓ©touan
## π οΈ Technologies Used
| Component | Tool/Library |
|------------------|---------------------------|
| Web Scraping | BeautifulSoup (Python) |
| Storage | Hadoop HDFS |
| Processing | Apache Spark (PySpark) |
| Backend / API | Flask |
| Language | Python |
| Deployment (opt) | Docker / VirtualBox |
---
## π§± Architecture
```text
ββββββββββββββββββββββ
β BeautifulSoup β
β (Scraping Data) β
ββββββββββ¬ββββββββββββ
β
ββββββββββββββββββββββββ
β Hadoop HDFS β
β (Data Lake Storage) β
ββββββββββ¬ββββββββββββββ
β
ββββββββββββββββββββββββ
β Apache Spark β
β (Data Processing) β
ββββββββββ¬ββββββββββββββ
β
ββββββββββββββββββββββββ
β Flask API β
β (Web Dashboard) β
ββββββββββββββββββββββββ