Get BBC Weather Alerts with Google Scripts

G
Published in: Google Apps Script

Somnath Rakshit has written a Google Script that sends weather forecast of your city to your cell phone via SMS twice every day, once in the morning and in the evening.

The weather information is scraped from the BBC Weather website.

The text messages are sent via Google Calendar so make sure that you mobile number is linked to your Google Calendar and that you have entered the correct time zone in the calendar settings.


function Start() {

    var link = 'http://www.bbc.co.uk/weather/YOUR_CITY_CODE';

  // Calcutta, India:  'http://www.bbc.co.uk/weather/1275004';
  // New Delhi, India: 'http://www.bbc.co.uk/weather/1261481';
  // Kansas, USA:      'http://www.bbc.co.uk/weather/4393217';
  // Tokyo, Japan:     'http://www.bbc.co.uk/weather/1850147';

    link = link.substring(link.indexOf("r/")+2,link.length);
    var url = 'http://open.live.bbc.co.uk/weather/feeds/en/'+link+'/3dayforecast.rss';
    var xml = UrlFetchApp.fetch(url).getContentText();

    xml = xml.substring(xml.indexOf("</image>")+34,xml.length);
    xml = xml.substring(0,xml.indexOf("</title>"));

    for(var i=0;i<4;i++)
        xml=xml.replace("°"," ");

    var forecast=xml.substring(0,xml.indexOf(','));

    var c = xml.replace("imum Temperature","");
    c = c.replace("imum Temperature","");
    var output=c.substring(c.indexOf("day:")+5,c.length);

    var now = new Date().getTime();
    CalendarApp.createEvent(output,new Date(now+60000),
                 new Date(now+60000)).addSmsReminder(0);

}

function Install(){
    ScriptApp.newTrigger("Start")
        .timeBased()
        .atHour(5)
        .everyDays(1)
        .create();

    ScriptApp.newTrigger("Start")
        .timeBased()
        .atHour(18)
        .everyDays(1)
        .create();
}

function Uninstall() {
    var triggers = ScriptApp.getScriptTriggers();
    for (var i=0; i<triggers.length; i++) {
        ScriptApp.deleteTrigger(triggers[i]);
    }
}
Published in: Google Apps Script

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch