|
1
|
Comunicaciones / Redes / Re: Programa de control remoto lan sin usar cliente
|
en: 8 Octubre 2018, 22:18 pm
|
Hola!
Si el computador en la LAN tiene algún puerto abierto o servicio desactualizado, capaz puedes encontrar un exploit ya funcionando en Metasploit. Utiliza nmap para verificar que puertos tiene abiertos y a que corresponde cada uno de ellos.
Saludos!
|
|
|
2
|
Seguridad Informática / Hacking / Re: Como hacer que cuando mando un mail no se envié a la bandeja de spam.
|
en: 8 Octubre 2018, 21:59 pm
|
Hola Hermer!
Posiblemente no sea problema del html en si, sino de la IP de procedencia. Si estás usando un hosting compartido entonces tienes mayor probabilidad de que tu correo llegue al SPAM, porque muchos servicios están ocupando la misma IP para enviar distinto contenido, lo que es considerado como SPAM para las grandes empresas de correos electrónicos como lo es el servicio de Google: Gmail. Muchos envíos de correos electrónicos por parte de una IP a un servidor en específico hace que ésta quede listada en una lista negra, que es utilizada y compartida por estas grandes empresas como Gmail, para saber cuando filtrar un contenido y cuando no.
Saludos!
|
|
|
4
|
Programación / Scripting / Re: Contador de tiempo en Python
|
en: 27 Mayo 2015, 06:26 am
|
''' Autor: JaAViEr|0x5d Twitter: @javieresteban__ Website: http://www.codigo.ga ''' from time import sleep import threading class Timer(threading.Thread): def __init__(self, tiempo): threading.Thread.__init__(self) self.tiempo = tiempo self.status = True def run(self): for i in range(self.tiempo): sleep(1) self.status = False tiempo = Timer(5) tiempo.start() n = raw_input("Nombre :> ") if tiempo.status: print "Tu nombre es", n else: print "Tardaste mas de 5 segundos en responder"
Un ejemplo usando Thread, así podemos ejecutar otra tarea mientras el tiempo se cuenta por separado. Saludos.
|
|
|
5
|
Programación / Scripting / [PyQT4] Memoriza :: "Entrenando tu memoria" :: JaAViEr
|
en: 15 Mayo 2015, 17:40 pm
|
Hola! Siguiendo con las prácticas en PyQT4, traigo una aplicación "juego" que luce así: Enseguida explico más o menos en que consiste. La aplicación se encarga de generar Números/Letras/Números y Letras (según cada gusto) de forma totalmente aleatoria, con la longitud que tu desees. Además de seleccionar un tiempo "límite" para memorizar el valor generado, una vez acabado este tiempo límite, el valor es oculto, para que tu escribas la respuesta y evaluar si lo que memorizaste corresponde realmente a la cifra que generó y mostró por los X segundos que lo configuraste. Una vez lanzada la aplicación y configurada, damos clic en ¡Establecer Configuración! , lo que nos da un nuevo cuadro, que luce así: Damos clic en "Comenzar" y tendremos esto: Una vez acabado el tiempo, el QLineEdit se resetea para que ingreses lo que memorizaste: Una vez ingresado el valor que memorizaste, presiona ENTER, si el valor fue correcto, entonces tu racha aumentará en +1 , de lo contrario se reiniciará a 0. Sin más que agregar, el código: # -*- coding: utf-8 -*- ''' Juego Memoriza :: Entrenando tu Memoria Autor: JaAViEr | 0x5d Twitter: https://twitter.com/javieresteban__ Website: http://codigo.ga ''' from PyQt4 import QtCore, QtGui import sys from random import randint, sample import threading from time import sleep try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) class formA(QtGui.QWidget): def __init__(self, parent=None): self.largo = 4 QtGui.QWidget.__init__(self, parent) self.resize(359, 131) self.gridLayout = QtGui.QGridLayout(self) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.tabWidget_inicial = QtGui.QTabWidget(self) self.tabWidget_inicial.setStyleSheet(_fromUtf8("font-weight:bold;")) self.tabWidget_inicial.setObjectName(_fromUtf8("tabWidget_inicial")) self.tab = QtGui.QWidget() self.tab.setObjectName(_fromUtf8("tab")) self.gridLayout_2 = QtGui.QGridLayout(self.tab) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.label_tipo = QtGui.QLabel(self.tab) self.label_tipo.setObjectName(_fromUtf8("label_tipo")) self.gridLayout_2.addWidget(self.label_tipo, 0, 2, 1, 1) self.pushButton_comenzar = QtGui.QPushButton(self.tab) self.pushButton_comenzar.setObjectName(_fromUtf8("pushButton_comenzar")) self.gridLayout_2.addWidget(self.pushButton_comenzar, 2, 0, 1, 3) self.spinBox_largo = QtGui.QSpinBox(self.tab) self.spinBox_largo.setMinimum(1) self.spinBox_largo.setProperty("value", 4) self.spinBox_largo.setObjectName(_fromUtf8("spinBox_largo")) self.gridLayout_2.addWidget(self.spinBox_largo, 1, 0, 1, 1) self.comboBox_tipo = QtGui.QComboBox(self.tab) self.comboBox_tipo.setObjectName(_fromUtf8("comboBox_tipo")) self.comboBox_tipo.addItem(_fromUtf8("")) self.comboBox_tipo.addItem(_fromUtf8("")) self.comboBox_tipo.addItem(_fromUtf8("")) self.gridLayout_2.addWidget(self.comboBox_tipo, 1, 2, 1, 1) self.label_largo = QtGui.QLabel(self.tab) self.label_largo.setObjectName(_fromUtf8("label_largo")) self.gridLayout_2.addWidget(self.label_largo, 0, 0, 1, 1) self.label_tiempo = QtGui.QLabel(self.tab) self.label_tiempo.setObjectName(_fromUtf8("label_tiempo")) self.gridLayout_2.addWidget(self.label_tiempo, 0, 1, 1, 1) self.spinBox_tiempo = QtGui.QSpinBox(self.tab) self.spinBox_tiempo.setPrefix(_fromUtf8("")) self.spinBox_tiempo.setObjectName(_fromUtf8("spinBox_tiempo")) self.spinBox_tiempo.setMinimum(1) self.gridLayout_2.addWidget(self.spinBox_tiempo, 1, 1, 1, 1) self.tabWidget_inicial.addTab(self.tab, _fromUtf8("")) self.gridLayout.addWidget(self.tabWidget_inicial, 0, 0, 1, 1) self.valores_elementos() self.connect(self.pushButton_comenzar, QtCore.SIGNAL("clicked()"), self.establecer_configuracion) def establecer_configuracion(self): self.tiempo = int(self.spinBox_tiempo.value()) self.largo = int(self.spinBox_largo.value()) form_b.show() form_b.label_segundos_restantes.setText("%s segundos" % self.tiempo) def valores_elementos(self): self.setWindowTitle(_translate("self", "Memoriza :: www.codigo.ga", None)) self.label_tipo.setText(_translate("self", "Tipo de juego", None)) self.pushButton_comenzar.setText(_translate("self", "¡Establecer configuración!", None)) self.comboBox_tipo.setItemText(0, _fromUtf8("Números")) self.comboBox_tipo.setItemText(1, _translate("self", "Letras", None)) self.comboBox_tipo.setItemText(2, _translate("self", "Números y Letras", None)) self.label_largo.setText(_translate("self", "Largo", None)) self.label_tiempo.setText(_translate("self", "Tiempo para memorizar", None)) self.spinBox_tiempo.setSuffix(_fromUtf8(" segundos")) self.tabWidget_inicial.setTabText(self.tabWidget_inicial.indexOf(self.tab), _translate("self", "Configuración de Memoriza", None)) class formB(QtGui.QWidget): def __init__(self, parent=None): self.valor_generado = "" self.racha = 0 QtGui.QWidget.__init__(self, parent) self.setObjectName(_fromUtf8("self")) self.resize(215, 104) self.gridLayout = QtGui.QGridLayout(self) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.splitter = QtGui.QSplitter(self) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setObjectName(_fromUtf8("splitter")) self.label_memoriza = QtGui.QLabel(self.splitter) self.label_memoriza.setStyleSheet(_fromUtf8("font-weight: bold; font-size: 17px;")) self.label_memoriza.setObjectName(_fromUtf8("label_memoriza")) self.lineEdit_valor_memorizar = QtGui.QLineEdit(self.splitter) self.lineEdit_valor_memorizar.setReadOnly(True) self.lineEdit_valor_memorizar.setObjectName(_fromUtf8("lineEdit_valor_memorizar")) self.gridLayout.addWidget(self.splitter, 0, 0, 1, 2) self.label_tiempo_restante = QtGui.QLabel(self) self.label_tiempo_restante.setObjectName(_fromUtf8("label_tiempo_restante")) self.gridLayout.addWidget(self.label_tiempo_restante, 1, 0, 1, 1) self.label_segundos_restantes = QtGui.QLabel(self) self.label_segundos_restantes.setStyleSheet(_fromUtf8("font-style: italic; font-weight: bold;")) self.label_segundos_restantes.setObjectName(_fromUtf8("label_segundos_restantes")) self.gridLayout.addWidget(self.label_segundos_restantes, 1, 1, 1, 1) self.pushButton_comenzar = QtGui.QPushButton(self) self.pushButton_comenzar.setObjectName(_fromUtf8("pushButton_comenzar")) self.gridLayout.addWidget(self.pushButton_comenzar, 3, 0, 1, 2) self.label_racha = QtGui.QLabel(self) self.label_racha.setObjectName(_fromUtf8("label_racha")) self.gridLayout.addWidget(self.label_racha, 2, 0, 1, 1) self.label_valor_racha = QtGui.QLabel(self) self.label_valor_racha.setStyleSheet(_fromUtf8("font-weight: bold;")) self.label_valor_racha.setObjectName(_fromUtf8("label_valor_racha")) self.gridLayout.addWidget(self.label_valor_racha, 2, 1, 1, 1) self.connect(self.pushButton_comenzar, QtCore.SIGNAL("clicked()"), self.empezar) self.connect(self.pushButton_comenzar, QtCore.SIGNAL("returnPressed()"), self.empezar) self.connect(self.lineEdit_valor_memorizar, QtCore.SIGNAL("returnPressed()"), self.cambia_valor) self.renombrar_elementos_widget() QtCore.QMetaObject.connectSlotsByName(self) def cambia_valor(self): qstring = str(self.lineEdit_valor_memorizar.text()) # mensaje = QtGui.QMessageBox() if qstring == self.valor_generado and len(self.valor_generado) > 0 and len(qstring) > 0: # mensaje.setText(_fromUtf8("¡Respuesta correcta!")) self.pushButton_comenzar.setFocus(True) self.lineEdit_valor_memorizar.setText("") self.valor_generado = False self.racha = self.racha + 1 self.label_valor_racha.setText(str(self.racha)) self.empezar() else: self.lineEdit_valor_memorizar.setText("") self.valor_generado = False # mensaje.setText(_fromUtf8("¡Respuesta Incorrecta!")) self.racha = 0 self.correr = False self.label_valor_racha.setText("0") self.empezar() # mensaje.exec_() def generar_numero(self): valor = "" for i in range(form_a.largo,): valor = valor + str(randint(0, 9)) return valor def generar_letras(self): valor = "" lista = list("abcdefghijklmnopqrstuvwxyz") len_lista = len(lista) - 1 for i in range(form_a.largo): valor = valor + lista[randint(0,len_lista)] return valor def generar_alfanumerico(self): valor = "" lista_abc = list("abcdefghijklmnopqrstuvwxyz") lista_digitos = list("0123456789") largo = form_a.largo / 2 len_lista_abc = len(lista_abc) - 1 len_lista_digitos = len(lista_digitos) - 1 for i in range(largo): valor = valor + lista_abc[randint(0,len_lista_abc)] for i in range(largo): valor = valor + lista_digitos[randint(0,len_lista_digitos)] return ''.join(sample(valor, len(valor))) def empezar(self): opcion = form_a.comboBox_tipo.currentIndex() self.lineEdit_valor_memorizar.setReadOnly(True) if opcion == 0: self.valor_generado = self.generar_numero() self.lineEdit_valor_memorizar.setText(self.valor_generado) elif opcion == 1: self.valor_generado = self.generar_letras() self.lineEdit_valor_memorizar.setText(self.valor_generado) elif opcion == 2: self.valor_generado = self.generar_alfanumerico() self.lineEdit_valor_memorizar.setText(self.valor_generado) t = Timer() t.start() def renombrar_elementos_widget(self): self.setWindowTitle(_translate("self", "Tablero", None)) self.label_memoriza.setText(_translate("self", "<html><head/><body><p align=\"center\"><span style=\" font-size:13pt;\">Memoriza</span></p></body></html>", None)) self.lineEdit_valor_memorizar.setText(_translate("self", "", None)) self.label_tiempo_restante.setText(_translate("self", "Tiempo restante", None)) self.label_segundos_restantes.setText(_translate("self", "10 segundos", None)) self.label_racha.setText(_translate("self", "Racha", None)) self.label_valor_racha.setText(_translate("self", "0", None)) self.pushButton_comenzar.setText(_translate("self", "Comenzar", None)) class Timer(threading.Thread): def __init__(self, parent=None): threading.Thread.__init__(self, parent) def run(self): tiempo_restante = form_a.tiempo for i in range(form_a.tiempo): form_b.label_segundos_restantes.setText("%s segundos" % tiempo_restante) tiempo_restante = tiempo_restante - 1 sleep(1) form_b.label_segundos_restantes.setText("0 segundos") form_b.lineEdit_valor_memorizar.setText("") form_b.lineEdit_valor_memorizar.setReadOnly(False) form_b.lineEdit_valor_memorizar.setFocus(True) app = QtGui.QApplication(sys.argv) form_b = formB() form_a = formA() form_a.show() app.exec_()
Fuente: http://codigo.ga/python/pyqt4-memoriza-entrenando-la-memoria/Saludos, Javier.
|
|
|
7
|
Programación / Scripting / [PyQT4] Inicio de Sesión estilo "Caja Fuerte" :: JaAViEr
|
en: 15 Mayo 2015, 01:07 am
|
Hola, buen día, luego de meses y meses y meses (na', nunca tanto), de no escribir nada en el Blog, ni mucho menos programar alguna cosilla en PyQT4, he vuelto. En esta ocasión traigo un Inicio de Sesión basado en el sistema de las antiguas Cajas Fuertes, dónde para ingresar al contenido de dicha caja, necesitabas una combinación de números. Aclaro que esto es solo una prueba de concepto, lo publico solo con dicha intención. El programa luce así exactamente: Más abajo explico como funciona, ahora adjunto el código: # -*- coding: utf-8 -*- ''' Prueba de Concepto sobre Inicio de sesión con Dial de QT4 Autor: JaAViEr | 0x5d Twitter: https://twitter.com/javieresteban__ Website: http://codigo.ga ''' from PyQt4 import QtCore, QtGui import sys try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) class Form(QtGui.QWidget): def __init__(self, parent=None): estilo_elementos = '''background:qlineargradient(spread:reflect, x1:0.523, y1:0.778, x2:0.545455, y2:0, stop:0 rgba(0, 176, 140, 214), stop:1 rgba(255, 255, 255, 255)); color: #000;padding: 10px;''' QtGui.QWidget.__init__(self, parent) self.clave = [220,1, 1000] self.usuario = "jaavier" self.intento_clave = [] self.setObjectName(_fromUtf8("self")) self.setFixedSize(400, 484) self.setStyleSheet(_fromUtf8("font-weight:bold; font-size: 15px;background:qlineargradient(spread:reflect, x1:0.523, y1:0.778, x2:0.545455, y2:0, stop:0 rgba(0, 176, 140, 214), stop:1 rgba(255, 255, 255, 255));")) self.gridLayout = QtGui.QGridLayout(self) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.splitter_2 = QtGui.QSplitter(self) self.splitter_2.setOrientation(QtCore.Qt.Vertical) self.splitter_2.setObjectName(_fromUtf8("splitter_2")) self.lcdNumber_numeros = QtGui.QLCDNumber(self.splitter_2) self.lcdNumber_numeros.setObjectName(_fromUtf8("lcdNumber_numeros")) self.lcdNumber_numeros.setStyleSheet(estilo_elementos) self.dial_contrasena = QtGui.QDial(self.splitter_2) self.dial_contrasena.setMaximum(1000) self.dial_contrasena.setStyleSheet("background: rgb(85, 255, 255)") self.dial_contrasena.setObjectName(_fromUtf8("dial_contrasena")) self.gridLayout.addWidget(self.splitter_2, 3, 0, 1, 1) self.label_usuario = QtGui.QLabel(self) self.label_usuario.setStyleSheet(_fromUtf8("font-weight:bold; font-size: 15px;")) self.label_usuario.setObjectName(_fromUtf8("label_usuario")) self.label_usuario.setStyleSheet("background: transparent") self.gridLayout.addWidget(self.label_usuario, 0, 0, 1, 1) self.lineEdit_usuario = QtGui.QLineEdit(self) self.lineEdit_usuario.setStyleSheet(estilo_elementos) self.lineEdit_usuario.setObjectName(_fromUtf8("lineEdit_usuario")) self.gridLayout.addWidget(self.lineEdit_usuario, 1, 0, 1, 1) self.label_contrasena = QtGui.QLabel(self) self.label_contrasena.setObjectName(_fromUtf8("label_contrasena")) self.label_contrasena.setStyleSheet("background: transparent") self.gridLayout.addWidget(self.label_contrasena, 2, 0, 1, 1) self.pushButton_reiniciar = QtGui.QPushButton(self) self.pushButton_reiniciar.setObjectName(_fromUtf8("pushButton_reiniciar")) self.gridLayout.addWidget(self.pushButton_reiniciar, 4, 0, 1, 1) self.pushButton_reiniciar.setStyleSheet(estilo_elementos) self.renombrarObjetos() QtCore.QObject.connect(self.dial_contrasena, QtCore.SIGNAL(_fromUtf8("valueChanged(int)")), self.lcdNumber_numeros.display) QtCore.QObject.connect(self.pushButton_reiniciar, QtCore.SIGNAL(_fromUtf8("clicked()")), self.limpiar_campos) QtCore.QMetaObject.connectSlotsByName(self) def limpiar_campos(self): self.lineEdit_usuario.setText("") self.intento_clave = [] self.dial_contrasena.setValue(0) mensaje_reinicio = QtGui.QMessageBox() mensaje_reinicio.setText(_fromUtf8("Formulario reiniciado con éxito")) def keyPressEvent(self, evento): tecla = evento.key() if tecla == 32: usuario = str(self.lineEdit_usuario.text()) self.intento_clave.append(int(self.lcdNumber_numeros.value())) self.dial_contrasena.setValue(0) if self.intento_clave == self.clave and usuario == self.usuario: mensaje = QtGui.QMessageBox() mensaje.setText("Bienvenido, " + usuario) mensaje.exec_() self.limpiar_campos() def renombrarObjetos(self): self.setWindowTitle(_translate("self", "Iniciar Sesión :: WWW.CODIGO.GA", None)) self.label_usuario.setText(_translate("self", "Usuario", None)) self.label_contrasena.setText(_translate("self", "Contraseña", None)) self.pushButton_reiniciar.setText(_translate("self", "Reiniciar campos", None)) app = QtGui.QApplication(sys.argv) formulario = Form() formulario.show() app.exec_()
Bien, dentro del código, específicamente en las líneas 32 y 33 tenemos dos variables: self.clave = [220,1, 1000] self.usuario = "jaavier"
Como vemos, self.usuario es la variable de nuestro usuario válido y self.clave es una Lista, cuyo valor es [220, 1, 1000], lo que quiere decir que esa es nuestra combinación para ingresar de forma correcta. En ves de 3 dígitos en la combinación, pueden ser los que se te antojen.
Para ingresar nuestra combinación (220, 1, 1000), es necesario utilizar nuestro cursor e ir moviendo la "perilla" ( QDial), a medida que vayamos moviendo esta, el valor se irá viendo en la pantalla estilo "LCD" en la parte superior. Cuando hayas encontrado los números de tu combinación, debes presionar la tecla "Espacio", de esta forma le decimos al programa que el número que vemos en el LCD, forma parte de nuestra combinación, una vez hecho esto con la primera cifra, el QDial vuelve a 0, lo que quiere decir que ahora debes buscar el segundo número de tu combinación, presionar espacio y así lo mismo con el tercer, cuarto, quinto, etc dígito. Si la combinación resulta correcta, deberías obtener algo como esto:
Fuente: http://codigo.ga/python/pyqt4-inicio-de-sesion-estilo-caja-fuerte/Saludos, Javier.
|
|
|
8
|
Programación / Scripting / Re: python y wxpython
|
en: 12 Marzo 2015, 15:41 pm
|
Si, excelente ya había escuchado de py2exe, y que tal pyinstaller?????
Otra cosa mas, lo grande del programa afecta su desempeño??? O de plano debería optar por otro lenguaje de programación????
Hola nuevamente! Nunca he probado PyInstaller, por lo que no me aventuro a responder algo sobre esto. Respecto a lo grande del programa (Referente al peso), prefiero que sea un poco más pesado y esté programado en Python, que tener que aprender a programar la misma aplicación en algún lenguaje compilado. Saludos, Javier.
|
|
|
9
|
Programación / Scripting / Re: python y wxpython
|
en: 11 Marzo 2015, 03:46 am
|
Yo he usado Py2EXE para proyectos Python con QT4 , la desventaja es que genera un ejecutable algo pesado, pues incorpora las librerías que usa tu code, además del interprete (eso creo)
Saludos.
|
|
|
10
|
Programación / Desarrollo Web / [Código-javascript]Palabras más utilizadas en un Sitio Web
|
en: 25 Noviembre 2014, 10:00 am
|
Hola, muy buen día. El código javascript que publicaré más abajo se encarga de capturar todas las palabras dentro de algún elemento, clase o id. Nos creará un pequeño formulario "flotante", en el cuál nos pedirá "Longitud", "Veces", "Elemento" (Filtros). ¿ Que es eso de "Filtros"?
Los dos primeros son una especie de filtros, así mostramos resultados más específicos. - Longitud: Busca palabras con la longitud que tu deseas (>=)
- Veces: Cantidad de veces que aparece en la web
- Elemento: Acá ingresamos en que elemento de la web deseamos buscar Las palabras más utilizadas. El script al usar jQuery, nos permite insertar en este campo ".clases", "#ids" o simplemente elementos como <body>
Una vez rellenes los campos, el programa te dará una salida con una tabla como esta: Ejemplo basado en el portal de noticias http://actualidad.rt.comSin más, el código: var script = document.createElement('script'); script.src = 'http://code.jquery.com/jquery-latest.js'; document.getElementsByTagName('head')[0].appendChild(script); var times_form; var element_form; var length_form; var l_temp; var dict = {}; var new_dict = {}; var splited = ""; var counter; var get_data = function (text, length) { splited = text.split(" "); for ( var a in splited ) { if( dict[splited[a]] ) { splited[a] = splited[a].toLowerCase(); dict[splited[a]] = dict[splited[a]] + 1; } else { if ( splited[a].length >= length ) { splited[a] = splited[a].toLowerCase(); dict[splited[a]] = 1; } } } }; var extract = function (element, length, times) { new_dict = {}; dict = {}; $(element).each( function () { get_data($(this).text(), length); }); for ( var c in dict ) { if ( dict[c] >= times ) { new_dict[c] = dict[c]; } } var output = "<table border='1'>"+ "<thead>"+ "<th>Palabra</th>"+ "<th>Longitud</th>"+ "<th>Apariciones</th>"+ "</thead>"+ "<tbody>"; counter = 0; for( var l in new_dict ) { counter++; l_temp = l.replace("<", "<"); l_temp = l_temp.replace(">", ">"); output = output + "<tr>"+ "<td>" + l_temp + "</td><td>" + l.length + "</td><td>" + new_dict[l] + "</td>"+ "</tr>"; } output = output + "</tbody></table>"; show_results(output); return new_dict; }; var find = function (word) { if ( new_dict[word] ) { show_results(String(new_dict[word])); } else { show_results("Word Not found"); } }; var search = function () { length_form = $("input[name=length_craw]").val(); times_form = $("input[name=times_craw]").val(); element_form = $("input[name=element_craw]").val(); if( length_form.length > 0 && times_form.length > 0 && element_form.length > 0 ) { extract(element_form, length_form, times_form); } }; var show_form = function () { $("<div class='show_words' style='border-radius:5px;box-shadow:0px 0px 10px #000;overflow:scroll;font-family:Trebuchet MS;width:auto;height:6cm;background-color:#fff;border:1px solid;position:fixed;top:12%;left:2%;padding:5px;z-index:30;'>"+ "<center><h2>Palabras más utilizadas</h2></center><input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='length_craw' placeholder='Longitud'> <input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='times_craw' placeholder='Veces'><br/>"+ "<input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='element_craw' placeholder='Elemento'> <button onclick='search()' style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;'>¡Buscar!</button> <button onclick='$(\".show_words\").fadeOut();' style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;'>Cerrar</button>"+ "<div class='words_content'></div></div>").appendTo("body"); }; var show_results = function (content) { $(".words_content").html("Total:" + counter + "<br/>" + content); }; show_form();
FUENTE ORIGINAL : http://codigo.ga/javascript/javascriptpalabras-mas-utilizadas-en-sitio-web/
Sin más que agregar... gracias por leer :-) Saludos, Javier.
|
|
|
|
|
|
|