예제 #1
0
        public List<ClHtml.resultadoClima> ClimaSvc()
        {
            Metodos mt = new Metodos();

            List<ClHtml.resultadoClima> cl = new List<ClHtml.resultadoClima>();

            XDocument xml = XDocument.Parse(mt.getPage("http://www.climatempo.com.br/rss/capitais.xml"));

            XmlTempo xt = (from n1 in xml.Descendants("channel").Elements("item")
                           where n1.Element("title").Value == "saopaulo/sp - Previsão do Tempo"
                           select new XmlTempo
                           {
                               title = n1.Element("title").Value,
                               description = n1.Element("description").Value
                           }).First();

            cl = mt.preencherClima(xt);

            string[] HtmlResp;
            List<ClHtml.ResultadoHtml> RespList = new List<ClHtml.ResultadoHtml>();

            string url = "http://www.climatempo.com.br/previsao-do-tempo/cidade/558/saopaulo-sp";

            HtmlResp = mt.getPage(url).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string s in HtmlResp)
            {
                RespList.Add(new ClHtml.ResultadoHtml() { resultado = s });
            }

            Regex filtro = new Regex("((googletag.pubads)(.*?)(setTargeting))|(<span class=\"dados-momento-li-span-first-child\">Umidade:)|(Intensidade do Vento:)");

            RespList = RespList.Where(a => filtro.IsMatch(a.resultado)).ToList();

            Regex filtroTipo;
            string replaceTipo;

            replaceTipo = @"((.*?)("",""))|(""\);)";

            filtroTipo = new Regex("(.*?)(tmomento)(.*?)");
            cl[0].tmomento = Convert.ToInt32(mt.adicionarTransito(filtroTipo, replaceTipo, RespList));

            filtroTipo = new Regex("(.*?)(cmomento)(.*?)");
            cl[0].status = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(regiao)(.*?)");
            cl[0].vento = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(Umidade:)(.*?)");
            replaceTipo = @"((.*?)(<li)(.*?)(<span>))|(%</span></li>)";
            cl[0].umidade = Convert.ToInt32(mt.adicionarTransito(filtroTipo, replaceTipo, RespList));

            filtroTipo = new Regex("(.*?)(Intensidade do Vento:)(.*?)");
            replaceTipo = @"((.*?)(<li)(.*?)(<span>))|(</span></li>)";
            cl[0].velocidadevento = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            return cl;
        }
예제 #2
0
        public string ArSvc()
        {
            string ar = "";
            try
            {
                Metodos mt = new Metodos();
                List<ClHtml.ResultadoHtml>  RespList = new List<ClHtml.ResultadoHtml>();

                string url = "http://sistemasinter.cetesb.sp.gov.br/Ar/php/ar_resumo_hora.php";

                string[] HtmlResp = mt.getPage(url).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

                foreach (string s in HtmlResp)
                {
                    RespList.Add(new ClHtml.ResultadoHtml() { resultado = s });
                }

                Regex filtro = new Regex("(.*?)(Parque D.Pedro II)(.*?)");

                RespList = RespList.Where(a => filtro.IsMatch(a.resultado)).ToList();

                string filtroAr = "((.*?)(Parque D.Pedro II)(.*?)(quadro))|(.gif)(.*?)(</tr></table></td>)";

                int vl = Convert.ToInt32(Regex.Replace(RespList[0].resultado, filtroAr, ""));

                switch (vl)
                {
                    case 1:
                        ar = "Boa";
                        break;
                    case 2:
                        ar = "Moderada";
                        break;
                    case 3:
                        ar = "Ruim";
                        break;
                    case 4:
                        ar = "Muito Ruim";
                        break;
                    case 5:
                        ar = "Péssima";
                        break;
                }

            }
            catch
            {
                ar = "";
            }

            return ar;
        }
예제 #3
0
        public List<ClHtml.ResultadoHtml> filtroHtml(string reg, string url)
        {
            string[] HtmlResp;
            List<ClHtml.ResultadoHtml> RespList = new List<ClHtml.ResultadoHtml>();

            Metodos mt = new Metodos();
            HtmlResp = mt.getPage(url).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string s in HtmlResp)
            {
                RespList.Add(new ClHtml.ResultadoHtml() { resultado = s });
            }

            Regex filtro = new Regex(reg);

            return RespList = RespList.Where(a => filtro.IsMatch(a.resultado)).ToList();
        }