File size: 1,922 Bytes
53e65b7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import phonenumbers
from phonenumbers import geocoder, carrier, timezone
def track_phone_location(phone_number):
try:
# Parse the phone number
parsed_number = phonenumbers.parse(phone_number)
# Get location information
country = geocoder.description_for_number(parsed_number, "en")
# Get carrier information
service_provider = carrier.name_for_number(parsed_number, "en")
# Get timezone information
time_zones = timezone.time_zones_for_number(parsed_number)
# Check if the number is valid
is_valid = phonenumbers.is_valid_number(parsed_number)
return {
"phone_number": phone_number,
"country": country,
"service_provider": service_provider,
"time_zones": list(time_zones),
"is_valid": is_valid
}
except Exception as e:
return {
"error": str(e),
"phone_number": phone_number
}
def main():
while True:
print("\nPhone Number Location Tracker")
print("----------------------------")
phone_number = input("Enter phone number (with country code, e.g., +1234567890) or 'q' to quit: ")
if phone_number.lower() == 'q':
print("Goodbye!")
break
result = track_phone_location(phone_number)
if "error" in result:
print(f"\nError: {result['error']}")
else:
print("\nResults:")
print(f"Phone Number: {result['phone_number']}")
print(f"Country: {result['country']}")
print(f"Service Provider: {result['service_provider']}")
print(f"Time Zones: {', '.join(result['time_zones'])}")
print(f"Valid Number: {'Yes' if result['is_valid'] else 'No'}")
if __name__ == "__main__":
main() |