Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: WHK en 19 Noviembre 2011, 20:56 pm



Título: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: WHK en 19 Noviembre 2011, 20:56 pm
Estaba viendo dragon ball desde dblatino.com y vi que casi todos los enlaces tienen el mismo formato y visualización y 4shared tiene visualización directa de archivos flv asi que hize un script y estoy descargando todos los archivos  :D

Talves le sirva a alguien si quieren tenerlo en sus sevidores para no tener que andar haciendo streaming

Lo único que hay que hacer es crear un directorio llamado "out" al lado del archivo php y darle permisos de escritura.
El script se ejecuta preferentemente desde la consola

Código
  1. <?php
  2. ini_set('memory_limit','16M');
  3.  
  4. echo "\nCargando configuraciones y creando enlaces...\n";
  5.  
  6. echo ".";
  7. /* Matriz de enlaces */
  8. $enlaces = array(
  9. 'base_url' => 'http://www.dblatino.com/dbz/',
  10. 'limite' => 291
  11. ),
  12. 'base_url' => 'http://www.dblatino.com/db/',
  13. 'limite' => 153
  14. )
  15. );
  16.  
  17. /* Matiz de enlaces compuestos */
  18. foreach($enlaces as $enlace){
  19. $links = array();
  20. for($cuenta = 1; $cuenta <= $enlace['limite']; $cuenta++){
  21. echo ".";
  22. $links[] = array(
  23. 'href' => $enlace['base_url'].(int)$cuenta.'.htm',
  24. 'out' => (int)$cuenta.'.flv'
  25. );
  26. $links[] = array(
  27. 'href' => $enlace['base_url'].(int)$cuenta.'b.htm',
  28. 'out' => (int)$cuenta.'b.flv'
  29. );
  30. }
  31. unset($enlace);
  32. }
  33. unset($enlaces);
  34.  
  35.  
  36.  
  37. echo "\nProcesando enlaces...\n";
  38. foreach($links as $enlace){
  39. echo "Procesando ".$enlace['href']." ...\n";
  40. $buffer = file_get_contents($enlace['href']);
  41. /* Es 4shared? */
  42. if(str_replace('4shared.com', '', $buffer) != $buffer){
  43. $buffer = explode('<embed src="http://www.4shared.com/', $buffer);
  44. $buffer = explode('"', $buffer[1]);
  45. $buffer = 'http://www.4shared.com/'.$buffer[0];
  46.  
  47. /* Solicita la url del flv */
  48. echo "    Solicitando enlace real *.flv...\n";
  49. $buffer,
  50. false,
  51. stream_context_create(array('http' => array('method' => 'HEAD')))
  52. );
  53.  
  54. /* Filtra la redirección */
  55. foreach($http_response_header as $header){
  56. $head = explode(': ', $header);
  57. if(strtolower($head[0]) == 'location'){
  58. $buffer = $head[1];
  59. break;
  60. }
  61. unset($head, $header);
  62. }
  63.  
  64. if(substr($buffer, 0, 14) == 'http://static.'){ /* Es stream? */
  65. $buffer = explode('streamer=', $buffer);
  66. $buffer = explode('.flv', $buffer[1]);
  67. $buffer = $buffer[0].'.flv';
  68.  
  69. /* Obtiene el video */
  70. echo "    Descargando el video...\n";
  71. system('wget '.$buffer.' -O "'.dirname(__file__).'/out/'.$enlace['out'].'"');
  72. if(file_exists(dirname(__file__).'/out/'.$enlace['out']))
  73. echo "    Video descargado y guardado correctamente.\n";
  74. else
  75. echo "    Imposible descargar archivo.\n";
  76. /*
  77. if($buffer = file_get_contents($buffer)){
  78. // Guarda el video
  79. echo "    Guardando...\n";
  80. if(file_put_contents(dirname(__file__).'/out/'.$enlace['out'], $buffer))
  81. echo "    Video descargado y guardado correctamente.\n";
  82. else
  83. echo "    Imposible guardar el archivo.\n";
  84. unset($buffer); // Libera la memoria
  85. }else
  86. echo "    Imposible descargar archivo.\n";
  87. */
  88. }else
  89. echo "    Imposible pharsear redireccion.\n";
  90. }else
  91. echo "    El enlace no es 4shared.\n";
  92.  
  93. unset($enlace);
  94. }
  95. unset($links);
  96.  
  97. ?>

Preferí usar wget para poder ir viendo el progreso de descarga y evitar sobrecargas.
Si alguien lo quiere hechar a correr en una pc con windows puede adjuntar el wget.exe que por ahi anda en internet.
Enjoy.


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: EFEX en 20 Noviembre 2011, 12:41 pm
JAJA, entrè por que el titulo nombra dragon ball.


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: s00rk en 20 Noviembre 2011, 18:14 pm
Lo intente usar, pero no me funciono baje el wget y nada solo me crea los archivos y hasta ahi pero de 0 bytes


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: WHK en 20 Noviembre 2011, 18:50 pm
que raro, yo lo bajé completo... que error te sale?


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: s00rk en 20 Noviembre 2011, 19:48 pm
En si ningun error, en pantalla me dice que se descargo correctamente y blablabla, pero checo el archivo y me los crea pero todos estan en 0 bytes, coloque el wget que corra en modo administrador desactive el UAC y nada :/

(http://img15.imageshack.us/img15/4573/sshot1yif.png)


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: WHK en 20 Noviembre 2011, 22:05 pm
ese script se ejecuta desde la consola, utiliza wget asi que si no te sale el buffer de wget es porque no encuentra el comando.

Comenta la linea de wget y descomenta las demás lineas donde usa file_get_contents()


Título: Re: Script para descargar todo dragon ball y dragon ball z en tu servidor
Publicado por: Carluís en 24 Noviembre 2011, 21:35 pm
Un Backupeador de dragon ball, interesante...