예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            String URL = textURL.Text;
            String sHtml = Crawler.GetHtml(URL);
            String sCmd="";
            String Genero="";
            String sExp = "";
            if (rMas.Checked)
            {
                Genero = "masculino";
                sExp = @"<b>(?<nombre>[a-zA-ZáéíóúÁÉÍÓÚ]*(.*?))</b>(.*?)\((?<origen>[a-zA-ZáéíóúÁÉÍÓÚ]*)\)\. (?<significado>(.|\n|\r|\t)*?)\.</font>";
            }
            if (rFem.Checked)
            {
                Genero = "femenino";
                sExp = @"<b>(?<nombre>[a-zA-ZáéíóúÁÉÍÓÚ]*(.*?)) </b> \((?<origen>[a-zA-ZáéíóúÁÉÍÓÚ]*)\)\. (?<significado>(.|\n|\r|\t)*?)\.(.*?)</font>";
            }
            Regex oRegex = new Regex(sExp);

            MatchCollection oMatches = oRegex.Matches(sHtml);

            label4.Text = oMatches.Count.ToString();

            DBMngr oDB = new DBMngr();

            foreach (Match oMatch in oMatches)
            {
                String sNombre = oMatch.Groups["nombre"].ToString().Replace(" o ","/");
                String sOrigen = oMatch.Groups["origen"].ToString();
                String sToSplit = oMatch.Groups["significado"].ToString().Replace("\r", "");
                String[] sSplitS = sToSplit.Split('\n');
                String[] sSplitN = sNombre.Split('/');
                String sSignificado = sToSplit;
                if ((sSplitS.Length > 1) && (sSplitS.Length != 3))
                    sSignificado = sSplitS[0].TrimEnd() + " " + sSplitS[1].TrimStart();
                if (sSplitS.Length == 3)
                    sSignificado = sSplitS[1].TrimStart() + " " + sSplitS[2].TrimStart();
                if (sSplitS.Length == 5)
                    sSignificado = sSplitS[0].TrimEnd();
                if (sSplitN.Length > 1)
                {
                    for (Int16 i = 0; i < sSplitN.Length; i++)
                    {
                        sNombre = sSplitN[i].Replace(" ","");
                      //  sNombre = sSplitN[i].TrimStart();
                        sCmd = "INSERT INTO NOMBRES_PROPIOS (NOMBRE, GENERO, ORIGEN, SIGNIFICADO) VALUES ('" + sNombre + "','" + Genero + "', '" + sOrigen + "', '" + sSignificado + "')";
                    }
                }
                else
                {

                    sCmd = "INSERT INTO NOMBRES_PROPIOS (NOMBRE, GENERO, ORIGEN, SIGNIFICADO) VALUES ('" + sNombre + "','" + Genero + "', '" + sOrigen + "', '" + sSignificado + "')";
                }
               oDB.ExecuteNonQuery(sCmd);
            }
        }
예제 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            String URL    = textURL.Text;
            String sHtml  = Crawler.GetHtml(URL);
            String sCmd   = "";
            String Genero = "";
            String sExp   = "";

            if (rMas.Checked)
            {
                Genero = "masculino";
                sExp   = @"<b>(?<nombre>[a-zA-ZáéíóúÁÉÍÓÚ]*(.*?))</b>(.*?)\((?<origen>[a-zA-ZáéíóúÁÉÍÓÚ]*)\)\. (?<significado>(.|\n|\r|\t)*?)\.</font>";
            }
            if (rFem.Checked)
            {
                Genero = "femenino";
                sExp   = @"<b>(?<nombre>[a-zA-ZáéíóúÁÉÍÓÚ]*(.*?)) </b> \((?<origen>[a-zA-ZáéíóúÁÉÍÓÚ]*)\)\. (?<significado>(.|\n|\r|\t)*?)\.(.*?)</font>";
            }
            Regex oRegex = new Regex(sExp);

            MatchCollection oMatches = oRegex.Matches(sHtml);

            label4.Text = oMatches.Count.ToString();

            DBMngr oDB = new DBMngr();

            foreach (Match oMatch in oMatches)
            {
                String   sNombre      = oMatch.Groups["nombre"].ToString().Replace(" o ", "/");
                String   sOrigen      = oMatch.Groups["origen"].ToString();
                String   sToSplit     = oMatch.Groups["significado"].ToString().Replace("\r", "");
                String[] sSplitS      = sToSplit.Split('\n');
                String[] sSplitN      = sNombre.Split('/');
                String   sSignificado = sToSplit;
                if ((sSplitS.Length > 1) && (sSplitS.Length != 3))
                {
                    sSignificado = sSplitS[0].TrimEnd() + " " + sSplitS[1].TrimStart();
                }
                if (sSplitS.Length == 3)
                {
                    sSignificado = sSplitS[1].TrimStart() + " " + sSplitS[2].TrimStart();
                }
                if (sSplitS.Length == 5)
                {
                    sSignificado = sSplitS[0].TrimEnd();
                }
                if (sSplitN.Length > 1)
                {
                    for (Int16 i = 0; i < sSplitN.Length; i++)
                    {
                        sNombre = sSplitN[i].Replace(" ", "");
                        //  sNombre = sSplitN[i].TrimStart();
                        sCmd = "INSERT INTO NOMBRES_PROPIOS (NOMBRE, GENERO, ORIGEN, SIGNIFICADO) VALUES ('" + sNombre + "','" + Genero + "', '" + sOrigen + "', '" + sSignificado + "')";
                    }
                }
                else
                {
                    sCmd = "INSERT INTO NOMBRES_PROPIOS (NOMBRE, GENERO, ORIGEN, SIGNIFICADO) VALUES ('" + sNombre + "','" + Genero + "', '" + sOrigen + "', '" + sSignificado + "')";
                }
                oDB.ExecuteNonQuery(sCmd);
            }
        }