public Logradouro GerarLogradouro(string cepDesejado, string tipoCEP = "ALL", string semelhante = "N") { var postData = string.Format("relaxation={0}&tipoCEP={1}&semelhante={2}", cepDesejado, tipoCEP, semelhante); var responseString = GetHtml(postData, _buscarLogradouroPeloCepLink); var pattern = @"<table class=""tmptabela"">(.*?)</table>"; var regex = new Regex(pattern); var match = regex.Match(responseString); var rua = new Regex("<td width=\"150\">(.*?) </td>").Match(match.Groups[0].Value).Groups[0].Value; string stripTagsPattern = @"<(.|\n)*?>"; rua = Regex.Replace(rua, stripTagsPattern, string.Empty).Replace(" ",""); var bairro = new Regex("<td width=\"90\">(.*?) </td>").Match(match.Groups[0].Value).Groups[0].Value; bairro = Regex.Replace(bairro, stripTagsPattern, string.Empty).Replace(" ", ""); var cidade = new Regex("<td width=\"80\">(.*?)</td>").Match(match.Groups[0].Value).Groups[0].Value; cidade = Regex.Replace(cidade, stripTagsPattern, string.Empty).Replace(" ", ""); var logradouro = new Logradouro(); logradouro.CEP = cepDesejado; logradouro.Endereco = rua.HtmlDecode(); logradouro.BairroOuDistrito = bairro.HtmlDecode(); logradouro.Localidade = cidade.Split('/')[0].HtmlDecode(); logradouro.UF = cidade.Split('/')[1].HtmlDecode(); return logradouro; }