No tienes permitido ver enlaces. Registrate o Entra a tu cuentaHola, estuve dandole un vistazo a tu módulo, deja darte algunos consejos:Si no me equivoco raw_imput es una función que esta contemplada en python2.
Vi que tu proyecto requiere bs4, si quieres que tu proyecto lo instale de manera automática desde pip, debes crear un archivo llamado requirements.txt con el nombre del módulo y la versión, por ejemplo:Código: text beautifulsoup4==4.9.1
Por otro lado, ten bastante cuidado, esa librería no es muy facil de instalar, a demás de contar con la instalación desde pip también debes contar con las librerías de headers para su compilación, en algunos sistemas da bastantes dolores de cabeza.
También me pude fijar que haces uso de la función "raw_input" pro esta no existe, a demás, intentaste utilizar el coloreado para bash, pero eso no funcionará en terminales de windows, recuerda que python funciona en múltiples sistemas operativos y el usuairo sólo verá caracteres extraños. Si un usuario cancela el script, no hay razón para decirle que lo ha cancelado.
Mejor te recomiendo utilizar expresión regular:Código: python #!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests import re class Controller(): def __init__(self): # Header print('-> Programado Por Parker') ip = input('IP o enter para saber su localización: ').strip() print('Realizando la solicitud ...') response = requests.get('https://es.geoipview.com/?q=%s&x=0&y=0' % format(ip)) if(response.status_code == 200): items = { 'host' : r'del\s+Host:.+?class="host">(.*?)<', 'ip' : r'de\s+IP:.+?class="show2">(.*?)<', 'country' : r'País:.+?<td>(.*?)<', 'region' : r'Región:.+?<td>(.*?)<', 'city' : r'Ciudad:.+?class="show2">(.*?)<', 'postal' : r'Postal:.+?<td>(.*?)<', 'latitude' : r'Latitud:.+?<td>(.*?)<', 'longitude' : r'Longitud:.+?<td>(.*?)<' } print('-' * 27) for item in items: matches = re.search(items[item], response.text, re.I | re.M) print( '%s : %s' % ( item.title().ljust(9), # Key name matches.group(1).replace(' ', ' ').strip() if matches else '-' ) ) else: print('Error de respuesta (%s).' % str(response.status_code)) if __name__ == "__main__": try: Controller() except KeyboardInterrupt: pass except Exception as e: raise e
Código: text $ python3 test.py -> Programado Por Parker IP o enter para saber su localización: 64.233.186.138 Realizando la solicitud ... --------------------------- Host : Ip : 64.233.186.138 Country : USA / US Region : CA City : Postal : Latitude : 34.054401397705 Longitude : -118.2440032959
Saludos.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Páginas1
#1
Python / Re:Geolocalizacion por IP
Junio 23, 2023, 10:29:18 AMPáginas1