Photon - Un crawler aussi rapide que la lumière

Publié initialement à : https://korben.info/photon-un-crawler-aussi-rapide-que-la-lumiere.html

Si vous cherchez un petit crawler de sites rapide et efficace, pourquoi ne pas tester Photon ?

Développé en python comme la majorité des outils de ce genre, Photon est capable d'extraire des pages parcourues, des URLs (dans le scope ou hors scope), des URLs avec paramètres, des données comme les emails, les comptes de réseau sociaux, les buckets Amazon (héhé), les fichiers JavaScript, les PDF, PNG, XML...etc. ainsi que n'importe quelle chaine de caractère correspondant à une regex.

Le secret de sa rapidité ? Un multithread correctement géré qui lui permet de traiter des dizaines voire des centaines de requêtes sans broncher.

Au-delà de ça, Photon offre un mode Ninja lui permettant de rebondir sur des services en ligne tiers capables d'aller requêter à votre place la cible. Cela signifie qu'au lieu de tout requêter depuis votre ordinateur avec votre IP, Photon vous offre 3+1, soit 4 points d'accès ce qui permet de booster encore plus la récupération des données, mais aussi de réduire le risque de déconnexion due à la rapidité d'enchainement des requêtes.

Pour télécharger et apprendre à utiliser Photon, je vous invite à vous rendre sur sa page Github.

1 J'aime

Et à quoi sert un web crawler ? Peut-on me donner des exemples concrets ? Merci.

En voyant multithread correctement géré puis que sur leur page github ils qualifient leur code de genius, je m’attendais à un truc incroyable avec des coroutines etc mais il me semble que c’est du code multithread assez classique (ce n’est pas un mal du tout, je m’attendais juste à un truc très haut niveau), est-ce que quelqu’un saurait ce qu’il y a de “génial” là-dedans ?

À récupérer plein d’infos en masse du web, ça peut te servir pour du big data, ou par exemple pour récupérer tout les liens de plusieurs sites/forums connus pour servir à exposer des leaks et regarder régulièrement si tes noms de domaine perso ou d’entreprise y apparaissent si tu fais de la veille sécu.

1 J'aime

Non effectivement, rien de “génial” dans ce code, au contraire un webcrawler multithread classique qui gagnerait beaucoup en rapidité/mémoire en faisant de l’asynchrone plutôt (seulement 2(!) threads par défaut)

“Genius” ahah

Ok, merci.

Intéressant, j’avais pris le temps de lire le code source où tout est expliqué/commenté et donc compréhensible sauf cette partie là…

https://fr.wikipedia.org/wiki/Robot_d'indexation

1 J'aime