elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15
11  Programación / Scripting / ejecutar cada minuto python en: 4 Julio 2013, 09:45 am
necesito ejecutar cada minuto un script/metodo  .__.

y la verdad, lo único que se me ocurre es llamar al comando sleep()

Código
  1. while True:
  2.    check_if_time()
  3.    sleep(60)
  4.  

tengo una base de datos con comandos que se ejecutan a cierta hora del dia.  pero la configuracion de estos comandos es algo volátil,  un dia pueden estar corriendo a las 5am  y otro dia alas 7pm segun caprichos del administrador.



hay alguna forma de optimizar esto? .__.
12  Programación / Desarrollo Web / detectar clic en adsense en: 26 Junio 2013, 09:36 am
quiero detectar cuando mis usuarios hacen clic en adsense (ya se que adsense te dice cuantos clics hay, o analitics)  pero quiero destacar los post donde mas usuarios hacen clic de manera automatica.

Código
  1. <script type="text/javascript" src="http://static.bloqueomental.com/bloqueomental/static/jquery.js"></script>
  2. <script>
  3. $(document).ready(function() {
  4.  
  5. // I am a flag that will determine if the user is
  6. // currently mousing over a Google AdSense.
  7. var isOverGoogleAd = false;
  8.  
  9. // When a user mouses over a Google AdSense iFrame, we
  10. // want to track that activity. This way, when the
  11. // current window blurs, we can guesstimate as to
  12. // whether or not the window-blur was due to the user
  13. // clicking the Google ad.
  14. //$( "iframe[ id *= google ]" )
  15. $( "#myframe" )
  16. .mouseover(
  17. function(){
  18. isOverGoogleAd = true;
  19. }
  20. )
  21. .mouseout(
  22. function(){
  23. isOverGoogleAd = false;
  24. }
  25. )
  26. ;
  27.  
  28. // Now that we are tracking the mouse movements over
  29. // the Google AdSense, let's track the window's blur
  30. // event to see if we can guesstimate the AdSesnse
  31. // usage.
  32. $( window ).blur(
  33. function(){
  34. // Check to see if the user was over a Google
  35. // AdSense ad when the window was blurred.
  36. if (isOverGoogleAd){
  37.  
  38. // Because the user was mousing over a
  39. // Google AdSense iFrame when the window
  40. // was blurred, it is reasonable to
  41. // estimate that the blurring is due to
  42. // the user clicking one of the ads.
  43. alert('click');
  44. }
  45. }
  46. )
  47. // Focus the window by default.
  48. .focus()
  49. ;
  50.  
  51. });</script>
  52.  

tengo este codigo que en general detecta    iframes.. el problema es que el boton de like de facebook tambien es un iframe... alguien se le ocurre una solucion? :S
13  Programación / Desarrollo Web / curiosidades con javascript - html - css [¿videojuegos complejos?] en: 14 Junio 2013, 08:14 am


ase unas noches estaba pensando en los videojuegos para navegador.. sin tener que recurrir a java o flash. (pues odio java y en linux; flash es la muerte)


asiendo esto me lleva a la curiosidad de que tan lejos se puede ir...  javascript da todo lo necesario, acceso a las teclas, modificar css  al aire  entre muchas otras cosas.

PD: no creo necesario poner la fuente del codigo, en el video se aprecia bien lo poquito que es.


14  Foros Generales / Sugerencias y dudas sobre el Foro / firma removida sin incumplir normas. en: 13 Junio 2013, 06:34 am
veran hoy entre y me tope con mi firma removida.

y un mensaje en mi bandeja por un moderador  que no citare por que un error lo comete cualquiera. espero la siguiente vez se tome la molestia de ver el código de la firma y ver que decía [img]

Citar
Los colores y tonos de las imágenes de las firmas no deberán ser desagradables a la vista, ni contener imágenes repulsivas u ofensivas, y con unas dimensiones máximas de 500x300px. Tampoco podrán contener vídeos incrustados de Youtube (o cualquier plataforma similar), vídeo y/o sonido. En caso de no cumplir con estas normas se sancionará al usuario de acuerdo a la sección III.C.2.

mi firma no es un vídeo, es solo una imagen menor a 500x 300 que enlaza a un vídeo de mi propiedad (comprendo por que no incrustar vídeos.. aria innecesariamente pesada la carga de algun tema para el visitante)

pero las firmas son para atraer visitas a nuestros sitios no?  todo el mundo las usa asi.. almenos el que tiene un sitio que promocionar y mientras no incomode no hay problema.

si lo se, es ingeniso/engañante camuflajear una imagen como un vídeo, pero kien lo clikee es por que le intereso el tema no?  no veo necesario añadir una norma nueva para prohibir esta practica..

en fin.. vuelvo a colocar mi firma, y si deciden volverla a quitar espero también añadan esa nueva regla al foro.
15  Foros Generales / Dudas Generales / git ignorar un archivo :( en: 3 Junio 2013, 21:16 pm
estoy frustrado... debo admitir que llevo usando git casi 1 año y aun despues de muchos proyectos no se como hacer esto


siempre uso git en mi proyecto local,  luego  lo subo a un server donde tengo todos mis proyectos..
y luego lo clono en otro server de produccion.
ya saben, lo normal

el detalle es que en produccion necesito tener un settings diferente, y no logro   mantener los settings separados :(

necesito que en el server de produccion se ignore  el  archivo "setings" al hacer git pull origin master

ya intente ponerlo en .gitignore pero no me funciona

PD: no debo  ignorar el settings de mi   proyecto local, necesito que ese settings, se clone en el servidor-repositorio,  pero que no se clone en produccion  una vez modificado.



el proceso es:
crear git local
crear git en server-repo
push git local a server-repo
clonar server-repo a server-produccion
modificar settings en produccion

y ahora necesito que nunca se substituya el settings de produccion, auke yo modifique y haga push al settings local.
16  Programación / Desarrollo Web / html5 drag and drop ayuda (imagen dentro de div) en: 6 Mayo 2013, 11:13 am
veran, estoy asiendo un sistema web de noticias, y quiero implementar drag and drop  para jalar las noticias entre si y poderlas relacionar..

todo bien...




exepto por un detalle, y que que cuando tengo una imagen dentro del div (con el div seteado como draggable) la imagen tiene prioridad y se jala la imagen

ya intente ponerle a la imagen draggeable=False y funciona parcialmente para jalar, pero al soltar un elemento arriva no lo detecta del modo correcto


algo asi es el codigo html que tengo

Citar
{%for nota in columnas%}
{%if forloop.first%}<div class='row-fluid'>{%endif%}
<div class='span3' style='text-align:center;' >
        <a draggable="false" href='/columna/{{nota.id}}/{{nota.titulo|slugify}}'><div draggable=True ondragstart="dragIt(event);" id='c{{nota.id}}' ondrop="dropIt(event)" ondragover="event.preventDefault();">
    <img src='{{MEDIA_URL}}{{nota.columna.imagen}}' draggable=False class="img-polaroid" style='width: 80%;margin-left:9%;margin-right:10%; '>
    <h3  style='text-align: center;'>{{nota.columna.nombre}}</h3>
    <h4  style='text-align: center;'><i>{{nota.titulo}}</i></h4></div></a>
</div>
{%if forloop.last or forloop.counter|divisibleby:"4" %}</div><br>{%if not forloop.first and not forloop.last%}<div class='row-fluid'>{%endif%} {%endif%}
{%endfor%}

el como asociar va de lado del servidor, del lado del cliente solo debo poder mandar los ids de los divs correctos :3
17  Programación / Scripting / script para sacar emails de paginas webs [python] [v3.0] en: 27 Abril 2013, 18:35 pm
les comparto este script que realiza para sacar emails de una web usando una arañita que recorre enlaces internos...

lo comparto por si se les ocurre modificaciones poder mejorarlo

repo git > https://github.com/Boredsoft/email-spider

** acepta parametros
-url       obligatorio con formato  http://somthing.com/   (la / final es necesaria)
-max_links  maxima cantidad de links a analizar antes de cortar el programa y guardar
-max_emails  maxima cantidad de emails a obtener antes de finalizar el programa y guardar
-external    acepta links externos, pero si no se usa junto con max_links o max_emails el programa nunca se detendra :(

** si la conexion de internet se cae el programa espera 30 segundos para reanudarse
** no se traba con enlaces muertos
** uso de "sort" para revisar enlaces con mayor probabilidad de tener email despues de cierto tiempo

Citar
fix 3.0
soporte para mas sistemas operativos
mejor detección de emails mediante el regex
fix v 2.0
ahora detecta mas tipos de urls internas
ahora detecta si es windows o linux para usar el comando correcto de limpiar pantalla.


Código
  1. # -*- coding: utf-8 -*-
  2. ## by kase: kase@boredsoft.com   colaboraciones: EleKtro H@cker
  3. import requests,re,os,time,sys
  4. from argparse import ArgumentParser, RawTextHelpFormatter
  5.  
  6. parser = ArgumentParser(description="email spider", version="3.0", formatter_class=RawTextHelpFormatter)
  7. ## -url
  8. parser.add_argument("-url",  dest="url", help='url a analizar en formato http://web.com/')
  9. ## -max_links links
  10. parser.add_argument("-max_links",  dest="max_links", help='maximo de links internos a analizar')
  11. ## -max_emails emails
  12. parser.add_argument("-max_emails",  dest="max_emails", help='maximo de emails a analizar')
  13. ## -external  default False
  14. parser.add_argument("-external",  dest="external", help='investigar links externos [si|no]')
  15.  
  16. argumento = parser.parse_args()
  17.  
  18.  
  19.  
  20. url_web = argumento.url
  21. url_web_limpio = argumento.url.replace('http://','').replace('/','').replace('www.','')
  22. links_internos = ['/']
  23. links_visitados = []
  24. emails_capturados = []
  25. mailsrch = re.compile(r"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|mx|com\.mx|xxx|tv|tk)\b")
  26. #old mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{2,6}')
  27. urlssrch = re.compile(r'href=[\'"]?([^\'" >]+)')
  28. contador = 0
  29. while links_internos:
  30. try:
  31. ## saca el ultimo link de la lista
  32. ##print links_internos
  33. link = links_internos.pop()
  34. ## añade ese link a visitados, para no volverlo a tener en cuenta
  35. links_visitados.append(link)
  36. if link[0] == '/' or link == '':
  37. r=requests.get(url_web+''+link)
  38. else:
  39. r=requests.get(link)
  40. links = urlssrch.findall( r.text)
  41. ##print 'xxxxxxxxxxxxx', links
  42. emails = mailsrch.findall(r.text)
  43. ## guarda todos los emails que se topa checando que no existan repeticiones
  44. for email in  emails:
  45. if email not in emails_capturados:
  46. emails_capturados.append(email)
  47. ## guarda todos los links internos que se tope checando que no existan en la cola o en vistados
  48. for link in links:
  49. if not argumento.external:  ## verifica si usar enlaces externos o no
  50. if link[0] == '/' or url_web_limpio in link:
  51. if link not in links_internos and link not in links_visitados:
  52. links_internos.append(link)
  53. elif  argumento.external == 'si':
  54. if link not in links_internos and link not in links_visitados:
  55. links_internos.append(link)
  56. contador +=1
  57. ## informacion en pantalla
  58. if contador % 50 == 0:
  59. if sys.platform.startswith('win'):
  60.    # Windows
  61.    os.system('cls')
  62. elif sys.platform.startswith('linux'):
  63.    # Linux
  64.    os.system('clear')
  65. elif sys.platform.startswith('cygwin'):
  66.    # Windows (Cygwin)
  67.    os.system('cmd /c cls')
  68. elif sys.platform.startswith('darwin'):
  69.    # MacOSX
  70.    os.system('clear')
  71. elif sys.platform.startswith('freebsd'):
  72.    # FreeBSD
  73.    os.system('clear')
  74. print 'web atacada:', url_web
  75. print 'total de emails obtenidos:', len(emails_capturados)
  76. print 'urls recorridas: ', len(links_visitados)
  77. print 'urls faltantes: ', len(links_internos)
  78. print '-----  (~._.)~ '
  79. ## pequeño arreglo para tener mas chanse de optener emails en web grandes
  80. ## primero analiza los enlaces internos mas cortos  y despues de un tiempo, analiza los mas largos primero
  81. ## en paginas tipo blog, los enlaces mas largos son los de las post con comentarios donde posiblemente existan emails
  82. if contador %10000 == 0:
  83. if contador <= 10000:
  84. links_internos.sort(reverse=True)
  85. else:
  86. links_internos.sort()
  87. ## si ahi un maximo de links internos  rompe el ciclo y termina
  88. if argumento.max_links:
  89. if contador >= int(argumento.max_links):
  90. break
  91. ## si ahi un maximo de emails capturados rompe el ciclo y termina
  92. if argumento.max_emails:
  93. if len(emails_capturados) >= int(argumento.max_emails):
  94. break
  95. ## si la conexion se cae duerme el proceso 20 segundos y reintenta
  96. except:
  97. r = os.system('ping -c 1 google.com') ## checa si hay conexion de internet
  98. if r == 0:  #si existe conexion elimina el enlace muerto
  99. link = links_internos.pop()
  100. else: ##sino espera 20 segundos a que se reanude la conexion de internet
  101. time.sleep(30)
  102. if sys.platform.startswith('win'):
  103.    # Windows
  104.    os.system('cls')
  105. elif sys.platform.startswith('linux'):
  106.    # Linux
  107.    os.system('clear')
  108. elif sys.platform.startswith('cygwin'):
  109.    # Windows (Cygwin)
  110.    os.system('cmd /c cls')
  111. elif sys.platform.startswith('darwin'):
  112.    # MacOSX
  113.    os.system('clear')
  114. elif sys.platform.startswith('freebsd'):
  115.    # FreeBSD
  116.    os.system('clear')
  117. print 'web atacada:', url_web
  118. print 'total de emails obtenidos:', len(emails_capturados)
  119. print 'urls recorridas: ', len(links_visitados)
  120. print 'urls faltantes: ', len(links_internos)
  121. print '-----  (~._.)~ CONEXION CAIDA, ESPERANDO 30 SEGUNDOS (X__X)'
  122.  
  123. f = open('%s.txt' % url_web.replace('http://','').replace('/','').replace('.','_'),'w+')
  124. f.write("\n".join(emails_capturados))
  125. f.close()
  126.  
mejoras en las que pueden ayudarme
 no soy muy bueno con expresiones regulares

estas me funcionan en el 90 de los casos, pero derrepente tienen errores (como cuando alguien usa el @ como a/o,   o no detecta urls internas si no comienzan con /)
  
mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{1,4}')
urlssrch = re. compile(r'href=[\'"]?/([^\'" >]+)')



funciones que pienso agregar a futuro

** comandos para pausar las tarea y guardar donde se quedaron
** serializar cada cierto tiempo la tarea  para no perder el trabajo cuando se reinicie la computadora forzosamente


 ::)
18  Foros Generales / Dudas Generales / analizar influencia de ciertos temas en internet en: 25 Marzo 2013, 20:15 pm
necesito analizar   el peso de varios "temas" durante un dia, pero debo hacerlo lo mas automatico posible.

estuve buscando si google trends poseeia una api, pero al parecer no la sacaron.. asi que solo estoy familiarizado con el api de twitter.

el problema es que no debo buscar los trends del dia, sino analizar el peso de ciertos temas agenos a los trends para priorisarlos.

solo se me ocurre hacer busquedas por twitter y medir el volumen y el tiempo. pero me gustaria recopilar tambien datos de busqueda y de enlaces, e incluse de feedbacks.

ideas?
19  Foros Generales / Dudas Generales / ayuda con git!!! .gitignore en pull en: 19 Marzo 2013, 12:36 pm
tengo un software que estoy viendiendo a n personas.. y a todas les actualizo el software por igual


el codigo consiste en 3 carpetas

base
periodico
templates



necesito que despues de hacer un clone al repositorio poder editar la carpeta templates  asi como el archivo  base/views-local.py


yo creia que con   añadir al  .gitignore del lado de produccion

bastaba con poner las lineas

templates
base/views-local.py


pero la realidad es que cuando ago un pull  me tira error el propio gitignore y me dice que hay lineas diferentes....


esos archivos existen en la rama "master" solo como plantillas,  debo rellenar datos de cada cliente en ellos, pero para actualizar el software debo  poder "pullear" todo lo demas :/
20  Programación / Desarrollo Web / vps dns con godaddy? en: 8 Marzo 2013, 15:12 pm
hola...
 acabo de contratar un vps  que no trae ni panel ni  dns... y no quiero instalar uno..


me recomendaron esta pagina para manejar el dns de manera gratuita...

https://manage.www.namecheap.com

pero la primer duda es que tipo de record type debo elegir para apuntar a mi ip
A, CNAME, URL?

y mi otra duda es que esta intefaz se me hace un poco familiar con la de goddaddy (la verdad es que hace años que no uso godaddy para gestionar mis dominios, solo los tengo comprados ahi)

que debo hacer? XD


por el momento e puesto el dominio con record type "A" apuntando a mi ip...  espero respuestas para saber si ise lo correcto
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines