main { pointer weatherTenDayStart { go_start; skip_to_text("new mpdFObj", true); skip_to_text(");", true); }; pointer weatherTenDayEnd { skip_to_text("graphTrgs", true); }; pointer weatherStart { go_start; skip_to_text("new mpdHMObj", true); skip_to_text(");", true); }; pointer weatherEnd { skip_to_text("flashParams", true); }; map skyMap { key_value("1", "13"); key_value("2", "13"); key_value("3", "13"); key_value("4", "13"); key_value("5", "9"); key_value("6", "9"); key_value("7", "9"); key_value("8", "9"); key_value("9", "7"); key_value("10", "9"); key_value("11", "7"); key_value("12", "7"); key_value("13", "10"); key_value("14", "10"); key_value("15", "11"); key_value("16", "11"); key_value("17", "13"); key_value("18", "12"); key_value("19", "6"); key_value("20", "6"); key_value("21", "6"); key_value("22", "6"); key_value("23", "6"); key_value("24", "6"); key_value("25", "6"); key_value("26", "5"); key_value("27", "20"); key_value("28", "4"); key_value("29", "18"); key_value("30", "3"); key_value("31", "17"); key_value("32", "2"); key_value("33", "18"); key_value("34", "6"); key_value("35", "13"); key_value("36", "1"); key_value("37", "15"); key_value("38", "15"); key_value("39", "14"); key_value("40", "8"); key_value("41", "16"); key_value("42", "11"); key_value("43", "11"); key_value("44", "0"); key_value("45", "22"); key_value("46", "30"); key_value("47", "28"); key_value("48", "14"); }; string DELIMITER = "', "; // downloading and parsing 10 days forecast { open_url("http://www.weather.com/weather/mpdwcr/tenday?locid=" + CityCode + "&channel=dailytraveler&datapoint=htempdp&adprodname=lap_travel_daily_main", "GET"); skip_to_text("new mpdHeadObj(", true); skip_chars(DELIMITER); // temperature units begin_var; skip_to_chars("'"); string tmprUnits = end_var; // wind speed units skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string windSpeedUnits = end_var; select_area(weatherTenDayStart, weatherTenDayEnd); string sky = "."; while (sky) { sky = ""; // day of month skip_to_text("new Date(", true); skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string dayOfMonth = end_var; // temperature high skip_to_text(")", true); skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string tmprHi = end_var; // temperature low skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string tmprLo = end_var; // sky skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); sky = end_var; // wind speed skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string windSpeed = end_var; // wind direction skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string windDirection = end_var; // humidity skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string humidity = end_var; if (sky) { sky = skyMap[sky]; if (!sky) sky = "0"; add_day; } } } // downloading and parsing detailed 3 days forecast string dayIndex; while (dayIndex $ "...") { open_url("http://www.weather.com/weather/mpdwcr/hourbyhour?locid=" + CityCode + "&adprodname=lap_travel_daily_main&channel=dailytraveler&begHour=8&begDay=" + get_day(dayIndex), "GET"); skip_to_text("new mpdHeadObj(", true); skip_chars(DELIMITER); // temperature units begin_var; skip_to_chars("'"); string tmprUnits = end_var; select_area(weatherStart, weatherEnd); string sky = "."; while (sky) { sky = ""; // day of month skip_to_text("new Date(", true); skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string dayOfMonth = end_var; // hour skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string hour = end_var; // sky skip_to_text(")", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); sky = end_var; if (sky) { sky = skyMap[sky]; if (!sky) sky = "0"; // temperature skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string tmpr = end_var; // humidity skip_to_text(",", true); skip_to_text(",", true); skip_to_text(",", true); skip_to_text(",", true); skip_chars(DELIMITER); begin_var; skip_to_chars("'"); string humidity = end_var; // wind direction skip_to_text(",", true); skip_chars(DELIMITER); skip_to_chars(DELIMITER); skip_chars(DELIMITER); begin_var; skip_to_chars(DELIMITER); string windDirection = end_var; // wind speed skip_chars(DELIMITER); begin_var; skip_to_chars(DELIMITER); string windSpeed = end_var; // wind speed units skip_chars(DELIMITER); begin_var; skip_to_chars(DELIMITER); string windSpeedUnits = end_var; add_day; } } dayIndex = dayIndex + "."; } }