Título: [SOURCE] mrtzcmp3 Downloader Publicado por: z3nth10n en 23 Octubre 2013, 21:01 pm Hola buenas, he hecho una app que espero que os guste:
(http://mrtzcmp3.net/logo.gif) Descripción: Esta app mediante "algoritmos", lo que hace es, sacar la música de dicha web (http://mrtzcmp3.net/) en links para que luego sean descargados...* *Luego explico como descargarse los links de forma rápida y cómoda
(http://gyazo.com/c39a67cc97ee296162a7804ef01a1be8.png) La app descargandose algo de música...
http://www.mediafire.com/download/76r1o6dhw7p66zb/mrtzcmp3Downloader.rar
Básicamente, tenéis que poner los títulos de las músicas separados por puntos y comas, y luego, darle a "Buscar"... La app lo único que va a hacer va a ser los links de la música, ya luego vosotros pues tenéis que descargarosla aparte... > Tutorial: Antes de nada, decir que JD y Orbit downloader no van... Así que la última solución es descargarse Firefox (https://download.mozilla.org/?product=firefox-stub&os=win&lang=es-ES) e instalar su plugin DownloadThemAll (https://addons.mozilla.org/en-US/firefox/addon/downthemall/). Una vez hecho esto, cogemos el archivo con la lista generada por mi app, y lo abrimos con un editor de textos que admita busquedas con Regex como Sublime Text, cogemos y buscamos con Regex esto: http://.+, luego le damos a Find All, copiamos el texto seleccionado y lo ponemos en un nuevo archivo y reemplazamos todos los espacios por %20, y después lo guardamos y lo volvemos a abrir con FF, una vez con el TXT abierto en FF, damos click derecho y dTa OneClick... Como podéis observar: (http://gyazo.com/bffc5290273fdedb236f44061a2f84a8.png) Un saludo. PD: Ya se que la app no tiene el nombre más correcto, pero es el primero que se me ocurrió... xD Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Spiritdead5 en 25 Octubre 2013, 07:17 am ya vi como le haces, practicamente parseas los documents del webclient q seguramente usas, y rastreas el script q tiene los .mp3 del reproductor de dicha web, estuve dandole 1 vueltita al firebug y le pille
por cierto acabas de darme 1 terrible idea sobre una arquitectura de gestion de archivos y esta pequeña web, ojala tenga 1 gran repertorio de musica 1 rato jugando con mis algoritmos llegue a esto, es mejorable, lo mejorare, pero te dejare este para q veas q si se puede mejorar Código: Imports System.Net añadi unas cuantas cositas interesantes, para q le veas e investigues LENGUAJE VB.NET PLATAFORMA WPF 1 consejo, si haras 1 programa que baja canciones Hacelo completo, no solo dejarle la URL al user para q la baje desde otro programa, es muy mal visto si es dificil, lee, podras, lo q te deje ahi permite bajar el archivo pero cambie las rutas 1 poco en los httpwebcreate Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: z3nth10n en 26 Octubre 2013, 12:42 pm Bueno, pues... xD
Código
Esto ya lo había pensado, es más tenía pensado hacer de forma mas sencilla esa función, como tengo un host, pues subo un archivo php que me codifique la URL y me devuelta la string codificada, así no tengo que estar añadiendo cases ni nada, y pa colmo, tengo todos los caracteres convertidos... Por lo demás, le echare un vistazo... PD: He añadido un buscador más mp3 skull, subiré otra app, con más cosas... :P Un saludo. Y gracias por tomarte la molestia... ;D Por cierto, si algo me enseño Elektro es a usar select cases Citar Select case value case is ñ return tal de tal end select no es por nada, pero ahorras mucho espacio en la memoria que metiendo 40 variables replace.. xD Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Eleкtro en 26 Octubre 2013, 16:29 pm La solución propuesta es fácilmente mejorable, muestro dos ejemplos.
Versión RegEx: Código
Versión Select Case: Código
También se puede mejorar todo lo demás del proyecto en general para desarrollar un downloader asincronico, pero con este código es más que suficiente. Esto lo posteo para todas aquellas personas que se encuentren en la misma situación, sincéramente, no lo posteo para ayudar al autor del post, ni al otro usuario. Un saludo! Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: z3nth10n en 26 Octubre 2013, 16:48 pm Bueno, claro, siempre puedes hacer lo que PHP hace en VB.NET, que es coger y convertir las letras a ASCII y ese ASCII a Hexadecimal..
Un saludo. PD: El método por Select Case no me termina de convencer, no se porque parece que ocupa más memoria RAM... Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Eleкtro en 26 Octubre 2013, 18:31 pm no se porque parece que ocupa más memoria RAM... Un RegEx reserva más memoria y es lento en comparación, tarda más en inicializarse y en finalizar su ejecución (Lease las diferentes RegExOptions para ajustar un poco estas caracteristicas). Según un test de velocidad que acabo de realizar para decodificar 1.000.000 de strings, estos han sido los resultados: Código: Método 1 (Regex.Replace): 11.826 segundos Óbviamente, para procesar una efímera cantidad de urls, no importa en absoluto que método se use ya que la diferencia en ms no se podrá apreciar. Saludos. Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: z3nth10n en 26 Octubre 2013, 19:59 pm Y si no es mucho preguntar, como has procesado un millón de Strings? xD
Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Eleкtro en 26 Octubre 2013, 20:40 pm No me expresé corréctamente, quería decir que he procesado el mismo string un millón de veces.
Código
Saludos Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Spiritdead5 en 26 Octubre 2013, 20:57 pm Y si no es mucho preguntar, como has procesado un millón de Strings? xD sigo prefiriendo mi forma :) mis algoritmos se basan en optimizacion de CPU, y un select case para y un ciclo para decodear o encodear una URL me parece un desperdicion pero bueno lo de arriba lo arme en 5 min, pero hay unas cuantas cosas q deberias revisar porque tienes 1 bug algo feo en el codigo sobre todo aca Código: finder = Regex.Matches(data, "D\?.+? _") Código: request = CType(HttpWebRequest.Create(base & finder(0).Value & Identificador), HttpWebRequest) (http://img822.imageshack.us/img822/6591/d2pr.jpg) Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Keyen Night en 27 Octubre 2013, 08:57 am System.Web.HttpUtility
Es una clase de .Net, que contiene métodos que pueden "parsear" los caracteres inválidos en hexadecimal y viceversa. Están disponibles los métodos Encode/Decode Url, respectivamente para cada caso. Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Spiritdead5 en 29 Octubre 2013, 05:10 am Hola buenas, he hecho una app que espero que os guste: Descripción: Esta app mediante "algoritmos", lo que hace es, sacar la música de dicha web (http://mrtzcmp3.net/) en links para que luego sean descargados...* *Luego explico como descargarse los links de forma rápida y cómoda
La app descargandose algo de música...
http://www.mediafire.com/download/76r1o6dhw7p66zb/mrtzcmp3Downloader.rar
Básicamente, tenéis que poner los títulos de las músicas separados por puntos y comas, y luego, darle a "Buscar"... La app lo único que va a hacer va a ser los links de la música, ya luego vosotros pues tenéis que descargarosla aparte... > Tutorial: Antes de nada, decir que JD y Orbit downloader no van... Así que la última solución es descargarse Firefox (https://download.mozilla.org/?product=firefox-stub&os=win&lang=es-ES) e instalar su plugin DownloadThemAll (https://addons.mozilla.org/en-US/firefox/addon/downthemall/). Una vez hecho esto, cogemos el archivo con la lista generada por mi app, y lo abrimos con un editor de textos que admita busquedas con Regex como Sublime Text, cogemos y buscamos con Regex esto: http://.+, luego le damos a Find All, copiamos el texto seleccionado y lo ponemos en un nuevo archivo y reemplazamos todos los espacios por %20, y después lo guardamos y lo volvemos a abrir con FF, una vez con el TXT abierto en FF, damos click derecho y dTa OneClick... Como podéis observar: Un saludo. PD: Ya se que la app no tiene el nombre más correcto, pero es el primero que se me ocurrió... xD debo darte las gracias por la idea, tube q rediseñarlo desde 0, y añadir varios request mas y un metodo POST para obtener toda la data completa, pero a la final desarme esa web con todo y ropa un consejo, las cookies no las modifiques :P no hace falta (http://img42.imageshack.us/img42/458/ncwn.jpg) mejorado (http://img31.imageshack.us/img31/4559/dg2v.jpg) te invito a probar Windows Presentation Foundation :) el winforms quedo obsoleto Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Eleкtro en 8 Enero 2014, 21:47 pm Este aporte ha sido añadido al Recopilatorio de temas interesantes (http://foro.elhacker.net/net/recopilatorio_de_temas_interesantes-t301256.0.html) ;)
Gracias por compartir. Salu2! Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: z3nth10n en 8 Febrero 2014, 20:19 pm Este aporte ha sido añadido al Recopilatorio de temas interesantes (http://foro.elhacker.net/net/recopilatorio_de_temas_interesantes-t301256.0.html) ;) Gracias por compartir. Salu2! Gracias a ti por añadirlo. :D ¡Nueva actualización! + Arreglado el downloader, mrtzcmp3 cambió algunos detalles de su web, por lo que no se encontraba ningún link, ya se ha arreglado el problema. + Arreglada una pequeña excepción que saltaba al final de cada analización. + Ahora la URL se parsea por lo que los links pueden ser identificados antes. Próximas características: + Compatibilidad con JDownloader, así al terminar el analisis preguntar al usuario si desea descargar los links disponibles con JD. + Nuevos motores de busqueda como Plixid y MP3Crank. + Panel de herramientas (cambiar el delimitador, filtrado de busqueda (tamaño, etc), etc) Título: Re: [SOURCE] mrtzcmp3 Downloader Publicado por: Eleкtro en 8 Febrero 2014, 21:02 pm + Nuevos motores de busqueda como Plixid y MP3Crank. No mezcles cosas Ikillnukes, plixid y mp3crank/mp3boo no son motores de búsqueda de mp3, solo son páginas que hostean links de albums, lo que quiero decir es que, o haces un spider de canciones, o lo haces de álbumes, pero de las dos cosas acabaría siendo un tremendo lio para buscar... no creo que quieras descargarte un album entero sólamente para una canción que te interese. ...o bien le añades opciones para elegir si se desea buscar albumes o canciones. EDITO: Bueno, hubo una confusión por mi parte (más q comprensible gracias a la peculiar forma que tiene Ikillnukes para hacer las cosas, como siempre)...ya que en la imagen que ha compartido Ikillnukes pone "Descargando X de X canciones" pues yo me pensaba que el propósito del programa era buscar y descargar, pero no es así, no descarga, así que modifico mis sugerencias... Te sugiero optimizaciones que le faltan al programa: 1. Un botón para pausar/reanudar o cancelar la descarga masiva. 2. Eso de escribir todas las canciones separados por un delimitador en una sola linea en ese textbox o richtextbox o lo que sea es treméndamente feo, usa un control óptimo como podría se run Listbox, así mantienes ordenados cada cancion en una sola linea... es que tal y como está ahora, es todo demasiado manual. 3. Poder arrastrar y soltar un archivo de texto en ese textbox o richtextbox (o en un Listbox si me hicieras caso). 4. Si le das dos veces al botón "Buscar", se pone a buscar una vez pero cuando acaba la búsqueda la app y las progressbars se vuelven locas y se freezea, obligando a matarla desde el administrador de tareas. 5. La app es inmovible, no se puede minimizar después de darle al botón 'buscar' ya que la operación bloquea la gui, tienes solución para este problema single-thread en distintas Classes: Tasks, BackgroundWorker, Thread. (No he mirado el source) Saludos |