Configuration de Privoxy et Tor pour le scrapping

Par     17 mars 2012  - Catégorie(s): Logiciel libre  Logiciel libre

Si j’ai omis de qualifier le scrapping dans mon article d’hier consacré à cURL, c’est que j’avais l’intention de vous en parler dans cet article consacré à Privoxy et Tor.

Le scrapping

Le scrapping est une technique d’extraction des contenus des pages issues des requêtes Http, que vous réalisez habituellement à partir de vos navigateurs. L’objet est de disposer des informations contenues dans les pages, en utilisant notamment les expressions régulières.

L’exemple ci-dessous vous montre, en PHP, comment, à l’aide des expressions régulières et l’instruction preg_match, extraire les contenus de la balise title d’une page et de la balise meta description.

<?php
require 'curl.class.php';
ini_set('display_errors', 1);
$oCurl=new Curl();
$html=$oCurl->execHttp('http://www.dsfc.net/');
if(preg_match('/<title>([^<]+)<\\/title>/i',$html,$title))
{
    echo $title[1]."\\n";
}
if(preg_match('/<meta name="description" content="([^"]+)"/i',$html,$description))
{
    echo $description[1]."\\n";
}
unset($oCurl);
?>

Configuration de Tor et de Privoxy

Tor est un réseau de serveurs proxy dont l’objet est de vous garantir l’anonymat sur Internet. L’ajout d’un serveur dans ce réseau se heurte à de nombreuses législations nationales, comme celle de la France qui exige d’un fournisseur de services Internet qu’il consigne l’activité au niveau de ses services durant 1 année, selon le décret n°2006-358 du 24 mars 2006. En revanche, il n’est pas encore illégal de s’en servir, notamment quand il s’agit de scrapper les pages de résultats des moteurs de recherche. ;+)

Sous Linux Centos, vous devez préalablement installer les paquets avec la commande yum install privoxy tor.

Privoxy

Privoxy, l'outil couplé à Tor pour vous rendre anonyme sur InternetPrivoxy est avant tout un proxy dont l’intérêt réside dans la modification et/ou la suppression des en-têtes envoyés par le navigateur. Vous pouvez aussi vous en servir comme simple proxy. La configuration de Privoxy, sous Linux, se fait à partir du fichier /etc/privoxy/config. Pour le coupler à Tor, vous devez ajouter ou décommenter la ligne afin que Privoxy relaie vos requêtes http ou https vers Tor :

        forward-socks5   /               127.0.0.1:9050 .

Vous devez ensuite relancer votre service : service privoxy restart ou /etc/init.d/privoxy restart.

Tor

Tor, un réseau de serveurs pour vous rendre anonyme sur InternetLà-encore, bien peu de choses à faire, en vérité. Vous devez vous assurer que les deux lignes suivantes du fichier /etc/tor/torrc soient bien décommentées :

SocksPort 9050 # Port sur lequel Tor écoute
SocksListenAddress 127.0.0.1 # Limitation de l'utilisation de Tor au localhost

Forcer le changement de serveur, le changement d’ip

Afin de ne pas être blacklisté par les serveurs sur lesquels vous vous adonnez à vos activités de scrapping, vous pouvez forcer votre « identité » sur le réseau Tor. Vous pouvez faire le choix de redémarrer le service Tor, sans avoir la garantie de changer de serveur. Le redémarrage exige que vous vous resynchronisiez !

Modification de la configuration de Tor

Vous devez ouvrir, préalablement, le port de contrôle dans le fichier de configuration /etc/tor/torrc :

ControlPort 9051

Code PHP pour renouveler votre identité

Je tiens à préciser que je ne suis pas l’auteur de ce code. Je l’ai simplement quelque peu adapté.

$fp = fsockopen('127.0.0.1', '9051', $errno, $errstr, 30);
if (!$fp) die("impossible de se connecter au port de contrôle");
fputs($fp, "AUTHENTICATE\\r\\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code != '250') die("L'authentification a échoué.");
//Envoie d'une requête pour obtenir une nouvelle identité
fputs($fp, "signal NEWNYM\\r\\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code != '250') die('Echouage en eau profonde');
fclose($fp);

Tor et Privoxy sur Windows

Tor et Privoxy fonctionnent très bien sur Windows. Vous pouvez les télécharger respectivement ici et . Leur configuration est en tout point similaire à ce que j’ai pu indiquer pour Linux. Elle se réalise à partir des fichiers suivants :

  • C:\\Program Files (x86)\\Privoxy\\config.txt, pour Privoxy, sous un Windows 64 bits
  • C:\\Program Files\\Privoxy\\config.txt, pour Privoxy, sous un Windows 32 bits
  • %USERPROFILE%\\AppData\\Roaming\\Tor\\torrc, pour Tor

Autres billets sur le sujet :

Dsfc Dsfc Dsfc sur Tout le Monde en Blogue

Vus : 4787
Publié par Denis Szalkowski : 58