[HOW] Tu propio miniBot - Hackeando a Chuiso :P

Estado
No está abierto para más respuestas.

Raivens

Platino
Usuario de Bronce
Mensajes
1,619
Puntuación de reacción
0
Titulo sensacionalista no?, ya me acostumbre a ellos al ver guias de CPA :greedy_dollars:

Resumen

Me he decidido a escribir este minitutorial, en el cual aprenderas de manera muy sencilla a crear un pequeño bot para extraer datos de cualquier pagina web. en este caso "Hackear a Chuiso" :sisi1:.

Que necesitamos?

- Autoit
- Ingenio


1 - Instalamos el programa Autoit y abrimos "SciTE Script Editor"
2 - Guardarmos File-Save As, escogemos un titulo acorde a nuestro programa
3 - Codigo

Primero que todo, se haria muy extenso este post si explico cada cosa del programa, he comentado casi todas las lineas, si tienes alguna duda extra puedes escribir y tratare de darle solucion :mola:

Código:
#include <Inet.au3>          ; Liberia para obtener archivos de internet, en este caso el codigo fuente de la url
#include <Array.au3>         ; Array para almacenar nuestros datos, cada dato incluira una posicion
#include <String.au3>        ; Funciones para el manejo de Strings
#include <File.au3>          ; Guardar y Escribir archivos.

$contador = 0                ; Contador para manejar las paginas de Chuiso.com

while $contador < 14         ; En la parte de abajo de Chuiso.com puedes ver que tiene 14 Paginas

	if $contador = 0 Then    ; La primera pagina, es la portada de Chuiso.com

local $url = _InetGetSource('http://chuiso.com')  ; Url de la portada

Else
	local $url = _InetGetSource('http://chuiso.com' & '/page/' & $contador & '/') ; Url de la pagina con el contador Ej: http://chuiso.com/page/14/  .Ver Img1 
EndIf

local $aArray1    ; Declaramos el Array dodne vamos a guardar los datos
$aArray1 = _StringBetween ($url, '<h2>', '</h2>') ; Con esta funcion tomaremos los datos que esten entre '<h2>', '</h2>' .Ver Img2


$contador2 = 0  ;   Contador para los articulos

While $contador2 < 7  ; Este contador limita a 7, que son los articulos que se muestran por pagina en Chuiso.com


    $buffer = $aArray1[$contador2] ; Añadimos el valor de la posicion $contador en el Array1 a $buffer
 
    $buffer = BinaryToString($buffer, 4) ; Esto lo hacemos porque muchas paginas tienen formato  charset=utf-8 - Busca en wikipedia si no sabes que es :D

Local $file  = FileOpen ("Enlaces.txt",1) ; Abrimos el archivo donde guardaremos los enlaces

  if $file = -1 Then
MsgBox (0, "Error", "No se puede abrir")
Exit
EndIf

FileWriteLine($file, $buffer) ; Escribimos los enlaces en una linea del archivo

FileClose($file)

$contador2 = $contador2 + 1 ; Aumentamos el contador para seguir recorriendo el Array que contiene los enlaces

WEnd

$contador +=  1 ; Aumentamos el contador para visitar otra pagina de Chuiso.com

WEnd

Codigo completo, Incluye el codigo y el resultado final :rolleyes:

You must reply before you can see the hidden data contained here.
You must reply before you can see the hidden data contained here.
Imagen referencia 1

f4fd42.png


Imagen referencia 2

2uha04i.png
 
Última edición:

Mustang

Platino
Usuario de Bronce
Mensajes
1,671
Puntuación de reacción
0
Gracias men, se ve bastante interesante, solo una pregunta ¿Qué tipo de datos se pueden obtener?
 

Raivens

Platino
Usuario de Bronce
Mensajes
1,619
Puntuación de reacción
0
Gracias men, se ve bastante interesante, solo una pregunta ¿Qué tipo de datos se pueden obtener?

Ese ejemplo es para aprender, pero puedes hacer cualquier cosa cuando dominas autoit :D
 

Raivens

Platino
Usuario de Bronce
Mensajes
1,619
Puntuación de reacción
0
Perdonen mi ignorancia pero no me entero...
Que sentido tiene?

Hola, automatizar, si ejecutas el codigo no tarda nada en sacarte todas las url, tambien podrias hacerlo con articulos, copiar web enteras, realizar registros, en fin todo lo que tu haces pero automatico. :mola:

Cabe recordar que es un ejemplo.
 
Mensajes
257
Puntuación de reacción
0
Hola, automatizar, si ejecutas el codigo no tarda nada en sacarte todas las url, tambien podrias hacerlo con articulos, copiar web enteras, realizar registros, en fin todo lo que tu haces pero automatico. :mola:

Cabe recordar que es un ejemplo.

Sera que estoy un poco atrasado entonces yo utilizo Imacros pero para tareas sencillas como enviar invitaciones masivas en facebook publicar cosas en grupos y eso pero nada complejo jaja
 

Raivens

Platino
Usuario de Bronce
Mensajes
1,619
Puntuación de reacción
0
Sera que estoy un poco atrasado entonces yo utilizo Imacros pero para tareas sencillas como enviar invitaciones masivas en facebook publicar cosas en grupos y eso pero nada complejo jaja


Si hay muchos metodos, imacros esta bien y es rapido, aunque autoit es un completo lenguaje de programacion, virtualmente no tendras limites :mola:
 

jerelesi

Cobre
Usuario de Bronce
Mensajes
837
Puntuación de reacción
1
Gracias, como siempre en este foro cada vez me quedo mas asombrado ajajajja
 

javierin

Cobre
Usuario de Bronce
Mensajes
490
Puntuación de reacción
0
Que barbaro el programa, lastima que mi c++ no de para tanto
 
Mensajes
228
Puntuación de reacción
0
Para OS X no sirve, no?

Con qué se podría hacer algo similar? Python?

Un saludo
 

lekroz

Platino
Usuario de Bronce
Mensajes
1,734
Puntuación de reacción
0
Para OS X no sirve, no?

Con qué se podría hacer algo similar? Python?

Un saludo

Con Python y alguna libreria para parsear también puedes hacerlo siendo entonces multiplataforma.

Siempre tengo ganas de empezar con Python un scraper pero de Java no me muevo. Veré si hago una comparación de rendimiento.
 
Mensajes
272
Puntuación de reacción
0
Hola, automatizar, si ejecutas el codigo no tarda nada en sacarte todas las url, tambien podrias hacerlo con articulos, copiar web enteras, realizar registros, en fin todo lo que tu haces pero automatico. :mola:

Cabe recordar que es un ejemplo.

Hasta puede saltarse los robots.txt?
 
Mensajes
173
Puntuación de reacción
0
titulo sensacionalista no?, ya me acostumbre a ellos al ver guias de cpa :greedy_dollars:

resumen

me he decidido a escribir este minitutorial, en el cual aprenderas de manera muy sencilla a crear un pequeño bot para extraer datos de cualquier pagina web. En este caso "hackear a chuiso" :sisi1:.

que necesitamos?

- autoit
- ingenio


1 - instalamos el programa autoit y abrimos "scite script editor"
2 - guardarmos file-save as, escogemos un titulo acorde a nuestro programa
3 - codigo

primero que todo, se haria muy extenso este post si explico cada cosa del programa, he comentado casi todas las lineas, si tienes alguna duda extra puedes escribir y tratare de darle solucion :mola:

Código:
#include <inet.au3>          ; liberia para obtener archivos de internet, en este caso el codigo fuente de la url
#include <array.au3>         ; array para almacenar nuestros datos, cada dato incluira una posicion
#include <string.au3>        ; funciones para el manejo de strings
#include <file.au3>          ; guardar y escribir archivos.

$contador = 0                ; contador para manejar las paginas de chuiso.com

while $contador < 14         ; en la parte de abajo de chuiso.com puedes ver que tiene 14 paginas

	if $contador = 0 then    ; la primera pagina, es la portada de chuiso.com

local $url = _inetgetsource('http://chuiso.com')  ; url de la portada

else
	local $url = _inetgetsource('http://chuiso.com' & '/page/' & $contador & '/') ; url de la pagina con el contador ej: Http://chuiso.com/page/14/  .ver img1 
endif

local $aarray1    ; declaramos el array dodne vamos a guardar los datos
$aarray1 = _stringbetween ($url, '<h2>', '</h2>') ; con esta funcion tomaremos los datos que esten entre '<h2>', '</h2>' .ver img2


$contador2 = 0  ;   contador para los articulos

while $contador2 < 7  ; este contador limita a 7, que son los articulos que se muestran por pagina en chuiso.com


    $buffer = $aarray1[$contador2] ; añadimos el valor de la posicion $contador en el array1 a $buffer
 
    $buffer = binarytostring($buffer, 4) ; esto lo hacemos porque muchas paginas tienen formato  charset=utf-8 - busca en wikipedia si no sabes que es :d

local $file  = fileopen ("enlaces.txt",1) ; abrimos el archivo donde guardaremos los enlaces

  if $file = -1 then
msgbox (0, "error", "no se puede abrir")
exit
endif

filewriteline($file, $buffer) ; escribimos los enlaces en una linea del archivo

fileclose($file)

$contador2 = $contador2 + 1 ; aumentamos el contador para seguir recorriendo el array que contiene los enlaces

wend

$contador +=  1 ; aumentamos el contador para visitar otra pagina de chuiso.com

wend

codigo completo, incluye el codigo y el resultado final :rolleyes:

You must reply before you can see the hidden data contained here.
You must reply before you can see the hidden data contained here.
imagen referencia 1

f4fd42.png


imagen referencia 2

2uha04i.png

con esto se puede crear un bot para cargar cosas en paginas webs? Por ejemplo cargar datos de registro en una web con el bot?
 

Raivens

Platino
Usuario de Bronce
Mensajes
1,619
Puntuación de reacción
0
con esto se puede crear un bot para cargar cosas en paginas webs? Por ejemplo cargar datos de registro en una web con el bot?

Hola, no seria el mismo codigo, pero claro con autoit podrias hacerlo, en el proximo tutorial que publique tratare este tema. :mola:
 
Estado
No está abierto para más respuestas.
Arriba