Je viens de découvrir ce week-end l’existence d’une librairire PHP que je ne connaissais pas : Curl. En deux mots, cette librairie vous permet de simuler l’envoi d’un header et de récupérer les données pour les traiter ensuite. C’est bien plus efficace que l’usual file_get_contents car on peut spécifier quel header on peut envoyer et donc il y a beaucoup moins de chance d’être bloqué par les serveurs.

Installation

Rien de plus simple. Comme toute bonne librairie php, un petit apt-get install php5-curl puis un reboot d’Apache pour être bien sûr et le tour est joué. Un phpinfo() me confirme que Curl est bien installé.

Utiliser Curl

En fait, il existe assez peu de fonction dans Curl et elles sont bien documentées dans la doc officielle. La fonction principale est curl_setopt. Vous pouvez ajouter ainsi différentes options à votre recopiage (vol de contenu). La principale option que je vous recommande est CURLOPT_RETURNTRANSFER qui, par défaut est à FALSE et donc au lieu d’enregistrer la page web, l’affiche. Ce n’est pas le comportement que j’attendais. Je n’ai pas encore réussi à utiliser Curl uniquement côté serveur, style en cgi et donc à chaque fois que je lance un crawl, la page met trois heures à charger. Pas très pratique…

Idées d’utilisation

  • Outils d’analyse de backlinks
  • Vérification des positions sur Google
  • Récupération automatique de listes de mots-clés à partir de Suggets, Adwords suggestion …
  • Génération automatique de texte à partir d’autres sites… mmm that sounds black-hat ;)