You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.0 KiB

Weather Web-Scraper

CAUTION
The following utility is in EARLY developement. Many promises made in this readme might not actually be true. Hopefully one day we'll be out of beta ~and be releasing on time~

An utility to scrape italian weather websites to collect and compare weather information

Usage

WARNING
The script is configured to run on Nix, and because of this is more complicated than it needs to be. You can remove unnecessary stuff if you're not running this on nix

The scraper collects data and arranges in the following scheme

{
    "today": {
        "[0..23]": {
            "temp": {
                "type": "number",
                "unitOfMeasurement": "degrees",
                "description": "expected temperature at the given hour"
            },
            "prec": {
                "type": "number",
                "unitOfMeasurement": "mm",
                "description": "expected precipitation at the given hour"
            },
            "code": {
                "type": "string",
                "description": "weather code (sunny / cloudy / ...)"
            }
        }
    },
    "tomorrow": {
        "[0..23]": {
            "temp": {
                "type": "number",
                "unitOfMeasurement": "degrees",
                "description": "expected temperature at the given hour"
            },
            "prec": {
                "type": "number",
                "unitOfMeasurement": "mm",
                "description": "expected precipitation at the given hour"
            },
            "code": {
                "type": "string",
                "description": "weather code (sunny / cloudy / ...)"
            }
        }
    },
    "dayAfterTomorrow": {
        "[0..23]": {
            "temp": {
                "type": "number",
                "unitOfMeasurement": "degrees",
                "description": "expected temperature at the given hour"
            },
            "prec": {
                "type": "number",
                "unitOfMeasurement": "mm",
                "description": "expected precipitation at the given hour"
            },
            "code": {
                "type": "string",
                "description": "weather code (sunny / cloudy / ...)"
            }
        }
    },
    "week": {
        "[0..6]": {
            "minTemp": {
                "type": "number",
                "unitOfMeasurement": "degrees",
                "description": "minimum expected temperature for the day"
            },
            "maxTemp": {
                "type": "number",
                "unitOfMeasurement": "degrees",
                "description": "maximum expected temperature for the day"
            },
            "totPrec": {
                "type": "number",
                "unitOfMeasurement": "mm",
                "description": "total expected precipitation for the day"
            },
            "code": {
                "type": "string",
                "description": "weather code (sunny / cloudy / ...)"
            }
        }
    }
}

The keys for the week entry are intended as an offset from today. That is, the object at 0 will be the results for today, the object at 1 will be the results for tomorrow, and the object at 6 will be the results for 6 days from now

Sources

These are the sources that are currently implemented or will be implemented eventually, together with the current level of implementation

✅ = implemented
🚧 = partially implemented
⛔️ = Not implemented
Source Status Comments
iLMeteo 🚧 Weather Code not working
3Bmeteo 🚧 Precipitation might not work as intended
Meteo Aeronautica Militare