Comment faire un suiveur de numéros de téléphone en Python

Apprenez à construire un suiveur de numéros de téléphone en Python en utilisant des numéros de téléphone, OpenCage et des bibliothèques folium.

Nous allons jouer une de ces astuces cool que vous voyez dans les films – Comment suivre les numéros de téléphone. Dans cet article, je vais vous montrer comment obtenir l’emplacement précis ou approximatif d’une personne via ses numéros de téléphone en utilisant Python.

Avant de continuer, il est important de noter que le suivi du téléphone de quelqu’un sans son consentement explicite est illégal et contraire à l’éthique. Cette explication n’est fournie qu’à des fins éducatives, et toute utilisation du suivi du téléphone doit toujours respecter les directives juridiques et éthiques et respecter la vie privée d’une personne.

Il y a un phonenumbers bibliothèque qui fournit des modules pour travailler avec des numéros de téléphone. Il est utilisé pour l’analyse, le formatage et la validation des numéros de téléphone sur la base des règles et conventions des différents pays et régions. La bibliothèque dispose également d’un module géocodeur qui peut fournir des informations sur l’emplacement géographique d’un numéro de téléphone en fonction de son pays. Venons-en de l’être.

Avant de commencer, installons les bibliothèques requises :

Tout d’abord, nous importons les bibliothèques nécessaires:

Nous avons déjà parlé de la bibliothèque phonenumbers . La bibliothèque folium est ce que nous allons utiliser pour générer une carte après avoir obtenu la localisation de la personne.

Le module sys en Python est utilisé pour interagir avec l’interpréteur Python et l’environnement système.

Le module argparse est utilisé pour accepter l’entrée des utilisateurs lors de l’exécution de scripts à partir du terminal.

Le module os est utilisé pour interagir avec le système d’exploitation, évidemment 🙂

À partir de phonenumbers, nous avons importé:

  • geocoder Ce module est utilisé pour géocoder les numéros de téléphone, fournissant des informations sur l’emplacement géographique dudit nombre.
  • timezone– Ce module est utilisé pour déterminer le fuseau horaire associé à un numéro de téléphone, vous aidant à comprendre le fuseau horaire dans lequel se trouve un numéro de téléphone.
  • carrier– Ce module est utilisé pour identifier l’opérateur (fournisseur de réseau mobile) associé à un numéro de téléphone, vous aidant à déterminer le fournisseur de services mobile d’un numéro donné.
  • N’hésitez pas à consulter la documentation pour voir comment fonctionnent les autres modules.
  • colorama est essentiellement utilisé pour ajouter des couleurs à notre production.

À partir de colorama Nous avons importé:

  • init– Cette fonction initialise la bibliothèque Colorama.
  • Fore– Ce module est essentiellement utilisé pour spécifier les couleurs souhaitées.
  • init()– Initialise le colorama comme nous venons de le dire.

Maintenant que nous avons importé les bibliothèques et les modules nécessaires, la fête peut commencer. Nous allons lancer la fête en créant une fonction qui traite le numéro de téléphone passé en entrée, c’est-à-dire le numéro de téléphone à suivre:

Nous avons essentiellement traité le numéro de téléphone de l’utilisateur. Nous avons commencé par analyser le nombre. Il suffit de voir l’analyse d’analyser comme l’extraction d’informations utiles telles que le code de pays. Nous avons également formaté le numéro à la norme internationalement acceptée. Ensuite, nous avons obtenu des informations utiles telles que le transporteur (fournisseur de services), le fuseau horaire et le lieu du numéro. Nous devons encore faire un peu de traitement sur la localisation. Nous le verrons ensuite.

Nous avons pu obtenir un peu d’informations en traitant le numéro de l’utilisateur. Ensuite, essayons d’obtenir les coordonnées de la localisation de l’utilisateur. Mais avant de faire cela, je dois vous dire que pour la géolocalisation, nous utilisons une API. Nous utilisons l’API d’OpenCage pour cela. OpenCage est un service de géocodage qui fournit une API pour convertir les coordonnées géographiques (latitude et longitude) et les adresses lisibles par l’homme. Le géocodage est le processus de traduction des adresses en coordonnées géographiques, et le géocodage inverse est le processus de traduction des coordonnées en adresses.

Alors allez sur OpenCage, créez un compte (gratuit), allez sur votre tableau de bord et l’API de géocodage, et faites en sorte que votre API soit prête.

Déménagement sur :

Fondamentalement, dans cette fonction, nous essayons de géocoder notre paramètre de localisation (à partir de la process_number()fonction). Ensuite, nous extrayons les coordonnées de longitude et de latitude. Ensuite, nous inverses le géocoder les coordonnées pour obtenir une adresse physique (adresse lisible par l’homme).

La fonction suivante que nous allons voir est une fonction qui supprime les caractères indésirables du numéro de téléphone de l’utilisateur. C’est pour que lorsque nous entrons dans un nombre avec des espaces entre les deux, nous puissions enlever ces espaces et le nombre serait toujours valable. Le but principal est que, comme vous le verrez plus tard, nous sauvegardons les cartes générées de l’emplacement de l’utilisateur avec leurs numéros de téléphone. Et ce faisant, nous ne voulons pas d’espaces dans le nom du fichier :

Parfait. Maintenant, nous pouvons créer une fonction pour générer ou dessiner une carte pour nous:

Dans cette fonction, nous essayons de générer une carte basée sur nos coordonnées obtenues (Longitude et Latitude). Nous passons à nos variables de longitude et de latitude à folium être en mesure de localiser et de marquer l’emplacement, s’il est trouvé. Ensuite, nous nettoyons le numéro de téléphone en vue de sauvegarder la carte. Enfin, nous sauvegardons la carte (avec le numéro de l’utilisateur) et disons à l’opérateur où le fichier est sauvegardé.

Ensuite, nous créerons une fonction pour collecter les arguments à partir de la ligne de commande. Dans notre code, nous acceptons le numéro de téléphone cible soit comme -p ou --phone.

Donc dans cette fonction, nous disons hey, permet à l’utilisateur d’entrer un numéro de téléphone s’il spécifie le -pou --phoneargumentation. Et si l’opérateur ne spécifie pas de numéro de téléphone, nous leur jetons une erreur. En outre, veuillez garder à l’esprit que lorsque vous entrez le numéro de téléphone, vous devez le faire avec le code correct.

Et enfin, nous appelons toutes les fonctions nécessaires :

Pour exécuter la commande, vous pouvez ouvrir votre terminal, naviguer jusqu’au répertoire où votre code est sauvegardé, et taper:

En outre, si Python n’est pas ajouté au PATH de votre PC, vous pourriez avoir besoin d’ajouter le chemin complet de Python. Il est très peu probable que les utilisateurs de Linux soient confrontés à ce problème.

Votre production doit être similaire à :

Copiez le chemin que la couverture aérienne est sauvegardée et collez-la dans votre navigateur.

Vous pouvez zoomer pour voir l’emplacement (dans le vôtre).

Maintenant, je n’affiche évidemment pas le nombre et l’adresse pour des raisons de confidentialité, mais c’est l’adresse réelle de ce nombre. En outre, tout au long de cet article, j’ai utilisé le mot approximatif. En effet, la précision du programme dépend de la qualité des données géographiques de la localisation de l’utilisateur. Certaines régions disposeront de données géospatiales de qualité que d’autres. C’est exactement comme ça.

En tant que programmeurs, nous ne pouvons pas faire grand-chose à ce sujet. Même les agences de sécurité qui suivent les numéros de téléphone des personnes doivent souvent entrer en contact avec les fournisseurs de services et effectuer une triangulation sur le nombre pour obtenir l’emplacement. Les fournisseurs de services ont accès à des données en temps réel sur l’emplacement de leurs abonnés en fonction des tours de cellules ou des stations de base auxquelles ils se connectent. La triangulation est une technique qui consiste à calculer la localisation d’un dispositif mobile en mesurant son intensité de signal à partir de plusieurs tours de cellules. Lorsqu’un téléphone se connecte à une tour de cellule, il établit une connexion, et le réseau peut déterminer l’emplacement approximatif du téléphone en fonction du temps qu’il faut pour que les signaux se déplacent entre le téléphone et les tours. Donc, si vous connaissez un fournisseur de services qui a une API à cette fin, n’hésitez pas à l’essayer (si c’est légal).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *