예제 #1
0
 public static void Obtener()
 {
     Analizador analizador = new Analizador("http://www.peliculon.net/");
     do
     {
         MiembrosEstaticos.AvanzarA(analizador.html, "div", "class", "post");
         enlace.Add(Enlace(analizador.html));
         titulo.Add(MiembrosEstaticos.tituloAmigable(Titulo(analizador.html).Trim()));
         Console.WriteLine("Obteniendo película: " + titulo[titulo.Count - 1]);
         categoria.Add(ProcesarCategoria(Categoria(analizador.html)));
         imagen.Add(Imagen(analizador.html));
         MiembrosEstaticos.DescargarBinario(new Uri(imagen[imagen.Count-1]), "C:/imagenes/" + titulo[titulo.Count-1] + ".jpg");
         imagen[imagen.Count - 1] = titulo[titulo.Count - 1] + ".jpg";
         descripcion.Add(Descripcion(analizador.html));
         //Console.ReadLine();
         Embed(titulo.Count - 1);
     }
     while (enlace[enlace.Count - 1] != ultima);
     analizador.Cerrar();
 }
예제 #2
0
        public static void Obtener()
        {
            Ultima();
            Console.WriteLine("Obteniendo Series");
            Analizador analizador = new Analizador("http://www.cinetube.es/subindices/iserienovedades.html");
            //Nos transladamos a la tabla con las series.
            MiembrosEstaticos.AvanzarA(analizador.html, "table", "class", "sample");
            int ch, i = 1, idSerie = 0;
            bool x = false;
            string codigo = MiembrosEstaticos.DescargarCadena(new Uri("http://www.cinetube.es/subindices/iserienovedades.html"), null);
            string imagen = null, enlace = null, titulo, descripcion, embed = null, temporada = null;
            while ((ch = analizador.html.Read()) != -1)
            {
                if (ch == 0)
                {
                    if (analizador.html.Tag.Name == "img")
                    {
                        imagen = analizador.html.Tag["src"];
                        Console.WriteLine("Imagen: " + imagen);
                    }
                    if (analizador.html.Tag.Name == "a" && enlace == null)
                    {
                        Servidor = "1";
                        enlace = analizador.html.Tag["href"];
                        //Si es la primera pelicula no registrada la registramos
                        if (enlace != ultima && !x)
                        {
                            string strConexion = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                                "Data Source=./Pelis.mdb";
                            OleDbConnection conexion = new OleDbConnection(strConexion);
                            conexion.Open();
                            OleDbDataAdapter adaptador = new OleDbDataAdapter("UPDATE SerieOnline " +
                                "SET ultima = '" + enlace + "' WHERE id = 1", conexion);
                            DataSet conjunto = new DataSet();
                            adaptador.Fill(conjunto);
                            conexion.Close();
                            x = true;
                        }

                        if (enlace == ultima)
                            break;

                        Console.WriteLine("Enlace: " + enlace);
                        titulo = MiembrosEstaticos.Extraer(codigo, "more_link Estilo17 Estilo16\">", "</a>", i);
                        Console.WriteLine("titulo bruto: " + titulo);
                        //Averiguamos la temporada, puede ser por 01x12 o puede poner Temporada 0 tras los parentesis
                        temporada = MiembrosEstaticos.Extraer(titulo, "(", ")", 0);
                        Console.WriteLine("Temporada/episodio: " + temporada);
                        if (x != null)
                        {
                            if (temporada.IndexOf("x") > -1)
                                temporada = temporada.Substring(0, temporada.IndexOf("x"));
                        }
                        else
                            temporada = "Sin temporada";
                        Console.WriteLine("Temporada: " + temporada);

                        titulo = (titulo[0].ToString().ToUpper() + titulo.Substring(1)).Substring(0,titulo.IndexOf(" ("));
                        titulo = MiembrosEstaticos.tituloAmigable(titulo);
                        Console.WriteLine("Titulo: " + titulo);
                        //Buscamos a ver si la serie esta incluida en la BD
                        if ((idSerie = Clases.ComprobarSerie(titulo)) == 0)
                        {
                            //Agregamos la serie a la BD.
                            MiembrosEstaticos.DescargarBinario(new Uri(imagen), "./imagenes/" + MiembrosEstaticos.tituloAmigable(titulo) + ".jpg");
                            idSerie = Clases.AñadirSerie(titulo, MiembrosEstaticos.tituloAmigable(titulo) + ".jpg");
                            Console.WriteLine("La serie no esta en la BD, la hemos añadido");
                        }
                        else
                            Console.WriteLine("Encontramos la serie");
                        Console.WriteLine("Id Serie: " + idSerie);
                        Console.WriteLine("Titulo: " + titulo);
                        ObtenerIndice(enlace, titulo, temporada, idSerie);
                        imagen = enlace = titulo = descripcion = embed = null;
                        i++;
                        Console.WriteLine("Hecho");
                    }
                }
            }
        }
예제 #3
0
 static void ObtenerIndice(string url, string titulo, string temporada, int idSerie)
 {
     Thread.Sleep(4000);
     string subEnlace;
     if (url.IndexOf("http://www.cinetube.es") > -1)
         subEnlace = url;
     else
         subEnlace = url.Replace("..", "http://www.cinetube.es").Replace("indices/", "subindices/i");
     string codigo = MiembrosEstaticos.DescargarCadena(new Uri(subEnlace), null);
     Analizador enlaces = new Analizador(subEnlace);
     string enlace;
     int i = 1;
     string[] espejos = new string[2];
     List<string> capitulos = new List<string>();
     List<string> nombreCapitulos = new List<string>();
     //Si son capitulos los vamos grabando en la BD, si es un espejo acumulamos el enlace para
     //rellamar a este procedimiento
     while ((enlace = enlaces.Leer("a","href")) != null)
     {
         string episodio = MiembrosEstaticos.Extraer(codigo, "Estilo17 Estilo16\">", "</a></td>", i++);
         if (episodio.IndexOf("irror") > -1)
         {
             Console.WriteLine("Se encontro un espejo " + enlace);
             espejos[i-2] = enlace.Replace("..","http://www.cinetube.es").Replace("indices/","subindices/i");
         }
         if (espejos[0] != null)
         {
             continue;
         }
         else
         {
             capitulos.Add(enlace.Replace("..", "http://www.cinetube.es"));
             nombreCapitulos.Add(episodio);
             Console.WriteLine("episodio: " + episodio);
             Console.WriteLine("enlace: " + enlace);
         }
     }
     enlaces.Cerrar();
     if (espejos[0] != null)
     {
         ObtenerIndice(espejos[0], titulo, temporada, idSerie);
         ObtenerIndice(espejos[1], titulo, temporada, idSerie);
     }
     int o = 0;
     foreach (string x in capitulos)
     {
         string url2 = ObtenerUrl(x);
         if (!Clases.ComprobarCapitulo(url2) && url2 != "0")
         {
             Console.WriteLine("obteniendo: " + x);
             Console.WriteLine("urlSerie:" + url2);
             Clases.AñadirCapitulo(titulo + " " + temporada + " X " + nombreCapitulos[o++], idSerie, url2);
         }
         else
             Console.WriteLine("El capitulo ya esta en la BD");
     }
 }
예제 #4
0
 static bool Embed(int i)
 {
     Analizador analizador = new Analizador(enlace[i]);
     if (MiembrosEstaticos.AvanzarA(analizador.html, "img", "src", "http://www.peliculon.net/ver-partes.jpg"))
     {
         int ch;
         while ((ch = analizador.html.Read()) != -1)
         {
             if (ch == 0)
             {
                 //si es un salto de linea se acabaron las partes
                 //if (analizador.Tag.Name == "br")
                 //break;
                 //Por cada ancla que se encuentre hasta entonces, una parte
                 if (analizador.html.Tag.Name == "a")
                 {
                     //Console.WriteLine(analizador.html.Tag["href"].ToString());
                     if (analizador.html.Tag["href"].StartsWith("javascript:veoh"))
                         ProcesarVeoh(analizador.html.Tag["href"]);
                     else if (analizador.html.Tag["href"].IndexOf("mvideo") > -1)
                         ProcesarMegavideo(analizador.html.Tag["href"]);
                     else if (analizador.html.Tag["href"].StartsWith("javascript:link('http://stagevu.com"))
                         ProcesarStage(analizador.html.Tag["href"]);
                     else
                     {
                         analizador.Cerrar();
                         break;
                     }
                 }
             }
         }
         analizador.Cerrar();
     }
     return true;
 }