begin process at 2012 02 09 22:30:05
  Trouver un code source :
 
dans
 

20 commentaire(s) de Mcjo sur des sources sur tout CodeS-SourceS

Déposé sur Crawler de site en php

bon je te renvoie un code source ou j'ai remplacé la constante par une variable et définie des fonctions sans public (mais ça ne change rien puisque en php si pas private -> public)

Maintenant si tu as un problème vérifie que tu sois en php et surtout que tu ais le module CURL pour php

:

<?php
/**
* Crawler
* botcrawler
*
* @package     Crawler
* @since       1.0
* @version     $Revision: 1 $
*/
class Crawler {

var $USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14';
var $authentification_form;
var $authentification_url;
var $must_auth;
var $site_name;
var $cookies_path;
var $user_agent;

/**
* Constructor
*
* @param string $site_name name of site used for define the name of the cookie
* @param boolean $must_auth define if the site requiere an authenficiation - false by default,
* @param string $authentification_url url for authentification - empty by default
* @param array $authentification_form mixed value of the authenfication form
* @param string $user_agent set another user_agent
* @return void
*
*/
function Crawler($site_name, $must_auth = false, $authentification_url = "",  $authentification_form = array(), $user_agent = null, $debug = false) {

$this->user_agent = (!is_null($user_agent)?$user_agent:$this->USER_AGENT);

$this->site_name = $site_name;
$this->must_auth = $must_auth;
$this->authentification_url = $authentification_url;
$this->authentification_form = $authentification_form;
if (is_file("cookies/{$this->site_name}_cookie.txt")) {
unlink("cookies/{$this->site_name}_cookie.txt");
}
$fp_cookies = fopen("cookies/{$this->site_name}_cookie.txt", "w+");
fwrite($fp_cookies, '');
fclose($fp_cookies);

$this->cookies_path = realpath("cookies/{$this->site_name}_cookie.txt");

if ($this->must_auth) {
$ch = curl_init($authentification_url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $authentification_form);
curl_setopt($ch, CURLOPT_COOKIEFILE , $this->cookies_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookies_path);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
$ret = curl_exec($ch);
if ($ret === FALSE) {
die(curl_error());
}
if ($debug) echo "<pre>Debug :\n".print_r($ret, true)."</pre>";
curl_close($ch);
if (preg_match('/(PHPSESSID=[0-9a-z,-]{32,40})/i', $ret, $m)) {
$sid = '?' . $m[1];
} else if (preg_match('#<input\s+type="hidden"\s+name="([^\r\n\t <>\'"\\\]+)"\s+value="([0-9a-z,-]{32,40})"\s*/?>#i', $ret, $m)) {
$sid = '?' . $m[1] . '=' . $m[2];
}
}
}

/**
* method to access to a page by get
*
* @param string $url
* @param integer $timeout
* @return content of page
*/
function http_fetch_url($url, $timeout = 1000)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE , $this->cookies_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookies_path);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, false);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
$data = curl_exec($ch);
curl_close($ch);

return $data;
}

/**
* method to access to a page by post
*
* @param stirng $url
* @param array $form array of string value of data post
* @param integer $timeout
* @return content of page
*/
function http_post_url($url, $form = array('none'=>'none'), $timeout = 1000)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE , $this->cookies_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookies_path);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($form));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, false);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

}

?>
Posté le : 03/12/2009 15:17:24

Déposé sur Crawler de site en php

Tu es sure d'être en php 5.1.2 minimum ?
Il semble que ta version de php ne gère pas les constante de classe.
Remplace
const USER_AGENT ...
//const USER_AGENT

et la ligne

$this->user_agent = (!is_null($user_agent)?$user_agent:Crawler::USER_AGENT);

par

$this->user_agent = (!is_null($user_agent)?$user_agent:'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14');
Posté le : 30/11/2009 14:59:34

Déposé sur Crawler de site en php

Mais de toute façon Free n'autorise pas l'ouverture de socket depuis php (à moins que cela est changé), donc ça risque de ne pas marcher.
Posté le : 30/11/2009 09:49:11

Déposé sur Crawler de site en php

Ça veut dire que sur free, vous devez activer php5, en plaçant le .htaccess adéquate.
Bonne journée
Posté le : 30/11/2009 09:47:55

Déposé sur Un tableau multidimentionnel comme parametre de fonction en c++

désolé :
pointeur de constante, une petite faute de frappe :)
Posté le : 04/08/2008 19:33:44

Déposé sur Un tableau multidimentionnel comme parametre de fonction en c++

En effet, cette affirmation est très juste, mais il faudra aussi ajouter que le fait de rajouter 'const' empêche l'affectation de nouvelle valeur à mon tableau, il est accéssible en lecture uniquement...
Ici il faut surtout que les débutants fassent la distinction entre la porté des variables :
- le fait de modifier la valeur d'un paramètre d'une fonction sans que cela ne change sa valeur pour la suite de l'exécution du programme (portée locale).
- le fait transmettre un pointeur de constant (! différent des pointeurs  constants ), interdisant ainsi la modification de la variable....
Posté le : 04/08/2008 19:32:37

Déposé sur Un morpion qui a la classe

il y a un exemple de morpion qui utilise minimax et ça marche assé mal :
http://lwh.free.fr/pages/algo/minmax/minmax.htm
en effet pour gagner à tous les coups :
on joue dans un coin, puis dans le coin opposé enfin dans le coin restant et on a ganger la partie car l'IA semble pensé qu'il faut essayer de prendre le milieu puis un coin alors que le milieu n'est pas une bonne position au morpion ;)
Posté le : 20/05/2005 09:55:25

Déposé sur Un morpion qui a la classe

Je pense à l'IA, c'est pour ça que j'ai pondérer les valeurs du tableau à -1 et 1 je pense l'implémenter avec une AI qui jouerai en fonction du poid la case qui devrait correspondre à la somme des poids des cases contiguës, un truc dans le genre...
Posté le : 18/05/2005 18:38:15

Déposé sur Impression directe sans confirmation (objet webbrowser)

Oki moi je suis sous linux....
Posté le : 31/10/2003 00:43:49

Déposé sur Un compteur de visiteur ip

ben ca correspond au nombre de visiteur unique ce compteur,
Si tu veux compter les visites tu suprimes la verification ip et tu mais une variable de session
Posté le : 01/08/2003 09:57:36

1 2


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales