johnnymck / shippingforecast
Shipping Forecast scraping library, pulling data from the BBC's shipping forecast page. Based on tnm/shipping-forecast
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/johnnymck/shippingforecast
Requires
- fabpot/goutte: 3.2
This package is auto-updated.
Last update: 2025-10-14 04:39:27 UTC
README
A straight-forward shipping forecast API written in pure PHP which scrapes up-to-date info from the BBC shipping forecast webpage.
Source based on Ted Nyman's shipping forecast project. Mega props to that guy! :)
Installation
composer install johnnymck/shippingforecast
Usage
use ShippingForecast\ShippingForecast; $forecast = new ShippingForecast(); $cromarty = $forecast->get('Cromarty'); // location names must be capitalised echo $cromarty['time']; // eg, 'The general synopsis at 1800'... print_r($cromarty['content']['warning']); // returns array of warnings (often empty, though not in wintertime 😅) echo $cromarty['content']['visibility']; // eg, 'Good, occasionally poor'...
It's worth noting that ShippingForecast::get($foo) and ShippingForecast::getAll() both yeild an assoc array containing ['time'], the time as a string when last updated by the BBC, and ['content'] which contains the forecast-proper, including a ['warning'] array to yeild any prevalent warning information. See examples/ for further information.
Fun Stuff!
Running php readforecast.php in the root of the application and piping the output into a text-to-speech application (such as say on Macintosh) will read the latest forecast update without you having to bother tuning your wireless sets to BBC R4, 3 times a day. What a time to be alive!
./forecast [Capitalised zone name here] will return the forecast in plaintext in your desired zone