NetWitch
Crawler d’informations personnelles (Printemps 2007)
Résumé
Un crawler à information personnelles, basé sur une recherche de patterns et d’extraction d’entités nommées (le terme n’est pas utilisé dans ce rapport car je ne le connaissais pas encore ;)). Ce crawler prend la forme d’un utilitaire programmé en Python, qui accepte en entrée différentes informations (prénom, localisation) sur la personne cible, et va ensuite effectuer une requête ciblé avec des mots clés à Yahoo!, récupérer une liste puis analyser chaque page découverte.
Au final, un profil de la personne ciblée est construit par itérations successives.
Particularités
- Utilisation de “règles” écrites en Python pour extraire les entités (mélange d’expressions régulières, de vérifications de données déjà récoltées, du type de la page, de la météo…)
- On peut ajouter des heuristiques au système pour restreindre l’espace de recherche : par exemple, localisation du sujet ciblé, âge
- Prototype implémenté en Python/Tk pour “prouver le concept”
- Le prototype est mal implémenté (pas de hiérarchie de packages, non respect des conventions..) car je débutais en python et en programmation orientée-objet
- L’API Yahoo! a été choisie car elle est “application developer”-friendly au contraire de celle de Google
Rapport et captures d’écrans
Rapport : ic05- 2007- Rapport Netwitch – Julian Bilcke.pdf
Résultats
- Dépend du profil de la personne recherchée (sa “présence” naturelle sur Internet)
- Nécessite des connaissances de bases sur le sujet recherché : prénom + nom, ou email, ou autres
- Met en relief les données contradictoires entre les sites et profils
- Limitations du moteur de recherche Yahoo! (peu de résultats)
Problématiques ouvertes
- Comment écrire les requêtes à l’API du moteur de recherche qui maximisent la qualité des résultats ?
- Existe-il d’autres “agents espions”, archivant dans l’ombre des profils d’utilisateurs ?
- La légalité d’un tel système dépend-t’elle de l’usage qu’on en fait ? (ex. si j’utilise un crawler opensource existant pour collecter des emails)
Conclusion
- Enormément d’information sur nous sont disponibles !
- Dans les forums, commentaires, mailing list, blogs..
- Il est possible de réaliser un robot capable de collecter ces données (par exemple pour l’amélioration du ciblage de la publicité)
Mots-clés
entités nommées, API, crawler, données personnelles, anonymat, Python, ic05

[...] NetWitch [...]