Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Xenomorfo77 en 9 Febrero 2014, 12:12 pm



Título: Script para web
Publicado por: Xenomorfo77 en 9 Febrero 2014, 12:12 pm
Hola gente, necesito ayuda para crear un script que me automatice una tarea. Se trata de una pagina de apuestas y quiero hacer un script que pulse unos determinados botones.

La idea es esta:

http://playfulbet.com/usuarios/1

Si sustituimosel numero en un bucle podemos ir accediendo a la pagina de ese usuario luego dentro de esa página cada usuario tiene un botón follow y otro botón desafíos.

Estos son los codigos que llevan los botones:

Desafío:
Código
  1. <a href="/peticiones?category=friendship&amp;receiver_id=200" class="add-for-challenge tip-left" data-method="post" data-options="disable-for-touch:true" data-tooltip="" id="add_friend" rel="nofollow" title="Solicitar desafíos"><i class="fa fa-bolt"></i><b>Desafios</b> </a>

Follow:
Código
  1. <a href="/follows/200?followed_id=200" class="js-toggle-follow btn-social btn-unfollow hide" data-method="delete" data-remote="true" id="unfollow" rel="nofollow"><div class="btn-content"><i class="fa fa-check"></i> Siguiendo</div></a><a href="/follows?followed_id=200" class="js-toggle-follow btn-social btn-follow " data-method="post" data-remote="true" id="follow" rel="nofollow"><div class="btn-content"><i class="fa fa-plus"></i> Seguir</div></a>

Pero si entras directamente en ese enlace del href no hace nada y dice k la pagina no existe. ¿Alguna pista o ayuda?

Si quieren probar la página puede registrarse aquí, esta página es interesante porque las apuestas son gratis, y luego podemos cambiar las monedas del juego por diferentes premios como xbox one, play4, paysafecard... :

http://playfulbet.com/users/sign_in?invited_by=104394


Título: Re: Script para web
Publicado por: Eleкtro en 9 Febrero 2014, 13:25 pm
si entras directamente en ese enlace del href no hace nada y dice k la pagina no existe. ¿Alguna pista o ayuda?

Hombre, es que es un botón, no redirecciona a un form, puedes invocar 'Click' en el botón 'Seguir' y 'Desafios' si lo haces por web.

Accedes al form del usuario, obtienes los botones por su ID:
Código:
id="add_friend"
Código:
id="follow"
...e invocas Click.

¿Que lenguaje estás usando?.


Título: Re: Script para web
Publicado por: Xenomorfo77 en 9 Febrero 2014, 13:27 pm
Hola elektro gracias por contestar, no sabia como hacerlo pero si lo hiciese seria en bash a que te refieres con acceder al form e invocar click puedes ser mas concreto. Gracias.


Título: Re: Script para web
Publicado por: Eleкtro en 9 Febrero 2014, 13:35 pm
si lo hiciese seria en bash
a que te refieres con acceder al form e invocar click puedes ser mas concreto.

antes de nada, yo no sé mucho de HTML pero creo que habría dos formas de hacerlo,
1. Por código enviando una petición post para el botón (quizás con cURL se pueda?), aunque imagino que de esta forma será más dificil el manejo manual de Cookies que requiere la web.
2. Utilizando un lenguaje que disponga de librerías para navegar de forma interactiva a cada perfil de usuario e invocar el miembro 'Click' en el botón (esa es la manera que yo se hacer pero en Bash no).

EDITO:
Un ejemplo de lo que te intento decir, en Ruby:
[RUBY] script para loguearse en una web e ir a una url (http://foro.elhacker.net/scripting/ruby_script_para_loguearse_en_una_web_e_ir_a_una_url-t374701.0.html;msg1796496#msg1796496)

Saludos


Título: Re: Script para web
Publicado por: Xenomorfo77 en 9 Febrero 2014, 13:39 pm
Ok, en que lenguaje sabes o me recomiendas para que sea sencillo? Saludos.

EDITO:

Justo lo que necesitaba, gracias Jefe!


Título: Re: Script para web
Publicado por: Eleкtro en 9 Febrero 2014, 13:40 pm
Ok, en que lenguaje sabes o me recomiendas para que sea sencillo? Saludos.

Si no te importa hacerlo en Windows entonces te recomiendo VB.NET
Si es para usar bajo Linux entonces puedes hacerlo en Ruby y/o Python, los dos tienen ese tipo de librerias (externas)

Saludos


Título: Re: Script para web
Publicado por: Xenomorfo77 en 9 Febrero 2014, 13:59 pm
Siempre he tenio la curiosidad de aprender algo de python y este es buen momento jaja. Una ultima pregunta y perdona por ser tan pesado. ¿Te sabes como se llama la libreria en python? Cuando tenga algo lo posteo. Muchas gracias.


Título: Re: Script para web
Publicado por: xiruko en 9 Febrero 2014, 14:16 pm
Hola Xenomorfo77,

hace poco contesté una duda similar, te dejo aquí el enlace donde comento algunos módulos de Python para hacer lo que dices:

http://foro.elhacker.net/software/apuestas-t408384.0.html;msg1918541#msg1918541 (http://foro.elhacker.net/software/apuestas-t408384.0.html;msg1918541#msg1918541)

Un saludo.


Título: Re: Script para web
Publicado por: Xenomorfo77 en 9 Febrero 2014, 21:03 pm
Hola Xenomorfo77,

hace poco contesté una duda similar, te dejo aquí el enlace donde comento algunos módulos de Python para hacer lo que dices:

http://foro.elhacker.net/software/apuestas-t408384.0.html;msg1918541#msg1918541 (http://foro.elhacker.net/software/apuestas-t408384.0.html;msg1918541#msg1918541)

Un saludo.

Gracias xiruko he estado mirando urllib y tengo hecho esto:

Código
  1. iimport urllib
  2. import urllib2
  3.  
  4. url = "http://www.playfullbet.com/"
  5. values = {"user_login" : "email",
  6.  "user_password" : "pass" }
  7.  
  8. data = urllib.urlencode(values)
  9. req = urllib2.Request(url, data)
  10. response = urllib2.urlopen(req)
  11. html = response.read()
  12.  
  13. print html
  14.  
  15. i = 0
  16.  
  17. while i < 225500:
  18. url = "http://www.playfulbet.com/usuarios/" + str(i)
  19. print url
  20. i += 1
  21. req = urllib2.Request(url)
  22. try:
  23. response = urllib2.urlopen(req)
  24. except:
  25. print url + " no existe."
  26. html = response.read()
  27. print html
  28.  


Por el momento no funciona y no tengo mucha idea de python, algun fallo o ayuda?

Aquí dejo los datos del post por si me estoy equivocando en los valores : http://gyazo.com/da7ab9108c68d72f6aaadf63e6e2d294


Título: Re: Script para web
Publicado por: xiruko en 10 Febrero 2014, 00:49 am
A mi sí que me funciona este código:

Código
  1. #!/usr/bin/python
  2. import urllib
  3. import urllib2
  4.  
  5. url = "http://www.playfullbet.com/"
  6. values = {"user_login" : "email",
  7.  "user_password" : "pass" }
  8.  
  9. data = urllib.urlencode(values)
  10. req = urllib2.Request(url, data)
  11. response = urllib2.urlopen(req)
  12. html = response.read()
  13. print html

No estaría de más alguna ayuda o pista sobre el qué no te funciona... xD

Puedes ejecutarlo? Te da error en tiempo de ejecución? Si es así, cuál? Lo corres y directamente no hace nada?

Un saludo.


Título: Re: Script para web
Publicado por: Xenomorfo77 en 10 Febrero 2014, 15:10 pm
Hombre, es que es un botón, no redirecciona a un form, puedes invocar 'Click' en el botón 'Seguir' y 'Desafios' si lo haces por web.

Accedes al form del usuario, obtienes los botones por su ID:
Código:
id="add_friend"
Código:
id="follow"
...e invocas Click.

¿Que lenguaje estás usando?.

Elektro ya solo me falta pulsar los botones pero no he encontrao manera y ya llevo horas buscando como hacerlo, al final he tirao para mechanize de python y todo OK. ¿Como pincho los botones?


Título: Re: Script para web
Publicado por: Xenomorfo77 en 10 Febrero 2014, 15:11 pm
A mi sí que me funciona este código:

Código
  1. #!/usr/bin/python
  2. import urllib
  3. import urllib2
  4.  
  5. url = "http://www.playfullbet.com/"
  6. values = {"user_login" : "email",
  7.  "user_password" : "pass" }
  8.  
  9. data = urllib.urlencode(values)
  10. req = urllib2.Request(url, data)
  11. response = urllib2.urlopen(req)
  12. html = response.read()
  13. print html

No estaría de más alguna ayuda o pista sobre el qué no te funciona... xD

Puedes ejecutarlo? Te da error en tiempo de ejecución? Si es así, cuál? Lo corres y directamente no hace nada?

Un saludo.


Noo el codigo estaba bien pero no me logueaba que era lo que yo quería jaja, al final lo he hecho con mechanize.


Título: Re: Script para web
Publicado por: adastra en 10 Febrero 2014, 15:23 pm
 La librería en Python que estas buscando para interactuar con un sitio web desde un script se llama Mechanize. Con ella puedes activar enlaces y botones en formularios, así como también navegar entre páginas. Vamos, lo mismo que haces desde un navegador, pero programaticamente desde Python.
[
Otra buena librería que se suele utilizar junto a Mechanize es BeautifulSoup, la cual sirve para parsear y extraer información de contenidos web (json, xml, html, etc.)


Título: Re: Script para web
Publicado por: Xenomorfo77 en 12 Febrero 2014, 23:25 pm
Después de estar preguntando un buscando como un loco al final lo he conseguido con Python + Selenium en unos 10 minutos. Gracias por vuestra ayuda.


Título: Re: Script para web
Publicado por: adastra en 13 Febrero 2014, 09:25 am
 Pues si... se me había pasado mencionar Selenium. También es una buena alternativa.


Título: Re: Script para web
Publicado por: kikian94 en 9 Marzo 2014, 19:20 pm
como hiciste al final el script? o he estado intentando pero no me hace click en ninguno de los botones, lo he echo con selenium IDE


Título: Re: Script para web
Publicado por: commit en 22 Marzo 2014, 21:45 pm
-


Título: Re: Script para web
Publicado por: Xenomorfo77 en 16 Abril 2014, 08:01 am
Como veo que el post ha tenido muchas visitas y hay gente interesada en este tema, he creado una aplicación que saldrá a la luz en poco tiempo. Seguid el twitter @Playfulbot para estar al corriente. Un saludo! Video explicativo con la aplicación: https://www.youtube.com/watch?v=I2PtWHmRzHE


Título: Re: Script para web
Publicado por: maxim_o en 16 Abril 2014, 21:17 pm
Bueno, usando las librerías mechanize y BeautifulSoup, como invocaría o simularía un click sobre un botón? 
He logrado crear la conexión, loguearme y sacar el código del botón, pero no se como podría invocar el clik, ya que si voy a el link que dice el botón, no funciona.


Título: Re: Script para web
Publicado por: yoshi7 en 26 Abril 2014, 02:45 am
Xenomorfo77 como sigue ese tema del script? Estoy muy interesado en la pagina de apuestas mencionada y quisiera probar el .exe que sugerias, pero no puedo descargarlo de ningun lado aun. Desde ya agradezco tu cooperacion con la comunidad! Saludos


Título: Re: Script para web
Publicado por: Xenomorfo77 en 26 Abril 2014, 07:41 am
Xenomorfo77 como sigue ese tema del script? Estoy muy interesado en la pagina de apuestas mencionada y quisiera probar el .exe que sugerias, pero no puedo descargarlo de ningun lado aun. Desde ya agradezco tu cooperacion con la comunidad! Saludos

Sigue el twitter @Playfulbot. Ahí tienes la descarga y la info. Un saludo.