begin process at 2010 03 21 21:29:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > ASPIRATEUR D'ETAJV

ASPIRATEUR D'ETAJV


 Information sur la source

Note :
7,33 / 10 - par 3 personnes
7,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Initié Date de création :15/06/2004 Date de mise à jour :16/06/2004 20:18:48 Vu :11 358

Auteur : scullder

Ecrire un message privé
Site perso
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

J'ai fait ce script il y a quelques temps (license gnu gpl), simplement pour m'entrainer et apprendre, il sert à télécharger toutes les pages de tips de l'etajv ( www.etajv.com ) pour une console donnée. Inutile de préciser qu'il faut éxécuter ce script en mode ligne de commande =)

Source

  • <?
  • error_reporting(E_ALL);
  • ///////////////////////// Tips Downloader //
  • ///////// Da Aspirateur d'ETAJV [ www.etajv.com ]
  • /////////////////////////////////////// v0.1 Alpha
  • // get_file($file) // retourne le fichier distant $file
  • ////////////////////////////////////////////////
  • // wh_console($console) // retourne le nom d'une console à partir de son code 'etajv' $console
  • ////////////////////////////////////////////////
  • // get_tips_index($console,$page) // retourne dans une chaine de caractères un index de tips de jeux en fonction des variables $console et $page
  • // La chaine retournée est de la forme : "url|jeu\n"
  • ////////////////////////////////////////////////
  • // get_all_tips_index($console) // retourne dans une chaine de cracatères tous les index de tips de jeux en fonction de la variable $console
  • ////////////////////////////////////////////////
  • // save_games_tips($all_tips_index, $console) // enregistre dans un fichier par jeu dans le répertoire du même nom que la console $console tous les tips de chaque jeu à partir de la variable $all_tips_index (de la même forme que celle retournée par get_all_tips_index et get_tips_index)
  • ////////////////////////////////////////////////
  • // get_one_game_tips($game_url) // retourne une chaine de caractères contenant les tips de la page $game_url
  • ////////////////////////////////////////////////
  • // write($console, $tips, $name) // crée le fichier $name dans le répertoire $console et écrit $tips dans ce fichier
  • // Tips Downloader /////////////////////////////
  • function get_file($file)
  • {
  • settype($content, "string");
  • $fp = fsockopen("www.jeuxvideo.com", "80", $errno, $errstr, 10);
  • if (!$fp) {
  • echo "ERREUR: $errno - $errstr<br>\n";
  • exit();
  • } else {
  • $server_file = eregi_replace("http://www.jeuxvideo.com","",$file);
  • $string = "GET ".$server_file." HTTP/1.1\r\n".
  • "Host: www.jeuxvideo.com\r\n".
  • "Mozilla/5.0 (X11; U; OpenBSD i686; en-US; rv:1.5) Gecko/20031007\r\n".
  • "Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\n".
  • "Accept-Language: en-us,en;q=0.5\r\n".
  • "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n".
  • "Keep-Alive: 300\r\n".
  • "Connection: keep-alive\r\n".
  • "Referer: http://www.jeuxvideo.com/cheats.htm\r\n\r\n";
  • fputs($fp, $string);
  • while(!feof($fp)) $content .= fgets($fp,1024);
  • fclose($fp);
  • return explode("\n",$content);
  • }
  • }
  • function wh_console($console)
  • {
  • // OK
  • if ($console == "001") return "PC";
  • if ($console == "002") return "Playstation";
  • if ($console == "015") return "Playstation 2";
  • if ($console == "021") return "X-Box";
  • if ($console == "017") return "NGC";
  • if ($console == "022") return "N64";
  • if ($console == "018") return "GBA";
  • if ($console == "012") return "GB";
  • if ($console == "014") return "DreamCast";
  • if ($console == "004") return "Super Nintendo";
  • if ($console == "005") return "Megadrive";
  • if ($console == "013") return "Nes";
  • if ($console == "010") return "Mac";
  • if ($console == "003") return "Saturn";
  • if ($console == "019") return "Neo Geo";
  • if ($console == "002") return "MasterSystem";
  • if ($console == "008") return "Amiga";
  • }
  • function get_tips_index($console,$page)
  • {
  • // OK
  • $file = "http://www.jeuxvideo.com/btajv99/etajvndx/".$console.$page.".htm";
  • $html = get_file($file);
  • settype($line, "string");
  • settype($games_url, "string");
  • $i = 0;
  • while ($i != count($html))
  • {
  • if (ereg("<a href=\"http://www.jeuxvideo.com/btajv99/etajvhtm",$html[$i]) && ereg("</a> <br>",$html[$i]))
  • {
  • $line = $html[$i];
  • $line = eregi_replace("<a href=\"","",$line);
  • $line = eregi_replace("\">","|",$line);
  • $line = eregi_replace("</a> <br>","",$line);
  • $games_url .= $line."\n";
  • echo $line;
  • }
  • $i++;
  • }
  • return $games_url;
  • }
  • function get_all_tips_index($console)
  • {
  • // OK
  • $i = 0;
  • settype($all_tips_index, "string");
  • $page = array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26");
  • while ($i != 26)
  • {
  • $all_tips_index .= get_tips_index($console,$page[$i]);
  • $i++;
  • }
  • return $all_tips_index;
  • }
  • function save_games_tips($all_tips_index,$console)
  • {
  • // OK
  • $i = 0;
  • $game_line_in_index = explode("\n",$all_tips_index);
  • $count = count($game_line_in_index);
  • while ($i != $count)
  • {
  • $game_url = explode("|",$game_line_in_index[$i]);
  • write(wh_console($console), get_one_game_tips($game_url[0]), trim($game_url[1]));
  • $i++;
  • }
  • return true;
  • }
  • function write($console, $tips, $name)
  • {
  • // OK
  • if (!is_dir($console)) mkdir($console);
  • $file = $console."/".$name.".html";
  • $fp = fopen($file,"a");
  • fputs($fp,$tips);
  • fclose($fp);
  • return true;
  • }
  • function get_one_game_tips($game_url)
  • {
  • // A finir =)
  • $i = 0;
  • $html = get_file($game_url);
  • settype($game_tips, "string");
  • while ($i != count($html))
  • {
  • $current_line = $html[$i];
  • if ($current_line)
  • {
  • $game_tips .= $current_line;
  • }
  • $i++;
  • }
  • return $game_tips;
  • }
  • function make_all($console)
  • {
  • set_time_limit("0");
  • echo "Tips Downloader\n\n";
  • save_games_tips(get_all_tips_index($console),$console);
  • return true;
  • }
  • $console = "008"; // Amiga
  • $page = "06"; // f
  • $test_index = "http://www.jeuxvideo.com/btajv99/etajvhtm/00102036.htm|AFRICAN SAFARI
  • http://www.jeuxvideo.com/btajv99/etajvhtm/00100002.htm|AFTER THE WAR
  • http://www.jeuxvideo.com/btajv99/etajvhtm/00100491.htm|AFTERBURNER
  • http://www.jeuxvideo.com/btajv99/etajvhtm/00100793.htm|AFTERLIFE";
  • //get_file("http://www.jeuxvideo.com/btajv99/etajvhtm/00801096.htm");
  • //get_tips_index($console,$page); // ok
  • //wh_console("003"); // ok
  • //write("008", "megatest", "test"); // ok
  • //get_one_game_tips("http://www.jeuxvideo.com/btajv99/etajvhtm/00100793.htm"); // A finir, mais ok
  • //get_all_tips_index($console); // ok
  • //save_games_tips($test_index,"001"); // ok
  • make_all($console); // Aspirer tous les tips d'une console =) // ok
  • ?>
<?
error_reporting(E_ALL);
///////////////////////// Tips Downloader //
///////// Da Aspirateur d'ETAJV [ www.etajv.com ]
/////////////////////////////////////// v0.1 Alpha
// get_file($file) // retourne le fichier distant $file
////////////////////////////////////////////////
// wh_console($console) // retourne le nom d'une console à partir de son code 'etajv' $console
////////////////////////////////////////////////
// get_tips_index($console,$page) // retourne dans une chaine de caractères un index de tips de jeux en fonction des variables $console et $page
// La chaine retournée est de la forme : "url|jeu\n"
////////////////////////////////////////////////
// get_all_tips_index($console) // retourne dans une chaine de cracatères tous les index de tips de jeux en fonction de la variable $console
////////////////////////////////////////////////
// save_games_tips($all_tips_index, $console) // enregistre dans un fichier par jeu dans le répertoire du même nom que la console $console tous les tips de chaque jeu à partir de la variable $all_tips_index (de la même forme que celle retournée par get_all_tips_index et get_tips_index)
////////////////////////////////////////////////
// get_one_game_tips($game_url) // retourne une chaine de caractères contenant les tips de la page $game_url
////////////////////////////////////////////////
// write($console, $tips, $name) // crée le fichier $name dans le répertoire $console et écrit $tips dans ce fichier
// Tips Downloader /////////////////////////////

function get_file($file)
{
	settype($content, "string");
	$fp = fsockopen("www.jeuxvideo.com", "80", $errno, $errstr, 10);
	
	if (!$fp) {
	
		echo "ERREUR: $errno - $errstr<br>\n";
		exit();
	
	} else {
		$server_file = eregi_replace("http://www.jeuxvideo.com","",$file);
		$string = "GET ".$server_file." HTTP/1.1\r\n".
		"Host: www.jeuxvideo.com\r\n".
		"Mozilla/5.0 (X11; U; OpenBSD i686; en-US; rv:1.5) Gecko/20031007\r\n".
		"Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\n".
		"Accept-Language: en-us,en;q=0.5\r\n".
		"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n".
		"Keep-Alive: 300\r\n".
		"Connection: keep-alive\r\n".
		"Referer: http://www.jeuxvideo.com/cheats.htm\r\n\r\n";
	     
		fputs($fp, $string);
		while(!feof($fp)) $content .=  fgets($fp,1024);
		fclose($fp);

		return explode("\n",$content);
	
	}
}

function wh_console($console)
{
	// OK
	if ($console == "001") return "PC";
	if ($console == "002") return "Playstation";
	if ($console == "015") return "Playstation 2";
	if ($console == "021") return "X-Box";
	if ($console == "017") return "NGC";
	if ($console == "022") return "N64";
	if ($console == "018") return "GBA";
	if ($console == "012") return "GB";
	if ($console == "014") return "DreamCast";
	if ($console == "004") return "Super Nintendo";
	if ($console == "005") return "Megadrive";
	if ($console == "013") return "Nes";
	if ($console == "010") return "Mac";
	if ($console == "003") return "Saturn";
	if ($console == "019") return "Neo Geo";
	if ($console == "002") return "MasterSystem";
	if ($console == "008") return "Amiga";
}

function get_tips_index($console,$page)
{
	// OK
	$file = "http://www.jeuxvideo.com/btajv99/etajvndx/".$console.$page.".htm";
	$html = get_file($file);
	
	settype($line, "string"); 
	settype($games_url, "string");
	$i = 0;
	while ($i != count($html))
	{
		if (ereg("<a href=\"http://www.jeuxvideo.com/btajv99/etajvhtm",$html[$i]) && ereg("</a> <br>",$html[$i]))
		{
			$line = $html[$i];
			$line = eregi_replace("<a href=\"","",$line);
			$line = eregi_replace("\">","|",$line);
			$line = eregi_replace("</a> <br>","",$line);
			$games_url .= $line."\n";
			echo $line;
		}
		$i++;
	}
	return $games_url;
}

function get_all_tips_index($console)
{
	// OK
	$i = 0;
	settype($all_tips_index, "string");
	$page = array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26");
	while ($i != 26)
	{
		$all_tips_index .= get_tips_index($console,$page[$i]);
		$i++;
	}
	
	return $all_tips_index;
	
}

function save_games_tips($all_tips_index,$console)
{
	// OK
	$i = 0;
	$game_line_in_index = explode("\n",$all_tips_index);
	$count = count($game_line_in_index);
	
	while ($i != $count)
	{			
		$game_url = explode("|",$game_line_in_index[$i]);

		write(wh_console($console), get_one_game_tips($game_url[0]), trim($game_url[1]));

		$i++;
	}
	return true;
}

function write($console, $tips, $name)
{
	// OK
	
	if (!is_dir($console)) mkdir($console);
	
	$file = $console."/".$name.".html";
	
	$fp = fopen($file,"a");
	fputs($fp,$tips);
	fclose($fp);
	
	return true;

}

function get_one_game_tips($game_url)
{
	// A finir =)
	$i = 0;
	$html = get_file($game_url);
	settype($game_tips, "string");
	while ($i != count($html))
	{
		$current_line = $html[$i];
		
		if ($current_line)
		{
			$game_tips .= $current_line;
		}
		
		$i++;

	}
	return $game_tips;
}

function make_all($console)
{
	set_time_limit("0");
	echo "Tips Downloader\n\n";
	save_games_tips(get_all_tips_index($console),$console);
	return true;
}

$console = "008"; // Amiga
$page = "06"; // f

$test_index = "http://www.jeuxvideo.com/btajv99/etajvhtm/00102036.htm|AFRICAN SAFARI
http://www.jeuxvideo.com/btajv99/etajvhtm/00100002.htm|AFTER THE WAR
http://www.jeuxvideo.com/btajv99/etajvhtm/00100491.htm|AFTERBURNER
http://www.jeuxvideo.com/btajv99/etajvhtm/00100793.htm|AFTERLIFE";

//get_file("http://www.jeuxvideo.com/btajv99/etajvhtm/00801096.htm");
//get_tips_index($console,$page); // ok
//wh_console("003"); // ok
//write("008", "megatest", "test"); // ok
//get_one_game_tips("http://www.jeuxvideo.com/btajv99/etajvhtm/00100793.htm"); // A finir, mais ok
//get_all_tips_index($console); // ok
//save_games_tips($test_index,"001"); // ok
make_all($console); // Aspirer tous les tips d'une console =) // ok

?>

 Conclusion

Il suffit d'utiliser la fonction make_all avec comme seul argument le bon code/numéro de la console (que vous pourrez trouver ds la fonction wh_console() )


 Sources du même auteur

CRÉATEUR DE PLAYLIST EN PHP GTK
BRUTE FORCE (PETIT MAIS LENT) =)

 Sources de la même categorie

SONDAGE - VOTE - POLL (AVEC MYSQL) par hornet_bzz
Source avec Zip Source avec une capture CRAYONPRO EST UN CMS SIMPLE EN PHP ET MYSQL - INSTALLATION E... par crayoncie
Source avec Zip Source avec une capture LISTENGEN GÉNÉRATEUR DE FICHIER PLAYLIST par AGG
Source avec Zip IP CALCULATOR par X_Cli
Source avec Zip Source avec une capture WHOIS DOMAIN CLASS : LOOKUP & AVAIBILITY par aKheNathOn

Commentaires et avis

Commentaire de Mechanicman le 15/06/2004 13:10:07

Ton script est pas mal...je ne sais pas s'il marche ( j'te fais confiance ) mais il va falloir faire gaffe à ne pas avoir de problèmes juridiques avec les propriétaires du site...

Commentaire de scullder le 15/06/2004 15:39:50

oui, mais bon du moment que le script n'est pas utilisé abusivement et seulement à titre personnel... je pense que ça passe.

Commentaire de mast0209 le 16/06/2004 07:10:54

Héhé! Pas idiot le script. Sauf que ce qui est marrant c'est que personne ne l'a encore testé. C'est pourquoi, il ne fonctionne pas! Tout plein de variable indéfinies!

Commentaire de Kirua le 16/06/2004 10:42:37

les variables indéfinies ne sont indiquées qu'en mode "avertissements" de PHP dernière version. Avant elles n'étaient pas indiquées et ça codait vachement mal dans le monde PHP ^^ c'était le bordel quoi :/ suis bien content que la rigueur soit mieux tenues mtnt. évidemment, ça demande de corriger ses scripts précédents si ils n'étaient pas propres!

Commentaire de scullder le 16/06/2004 12:50:30

bularf, j'ai pas fait péter le error reporting E_ALL, je vais corriger ce script dès que j'ai le temps.

Commentaire de scullder le 16/06/2004 20:15:21

bon voilà, je poste ma modification tt de suite après commentaire, j'ai utilisé la fonction settype, j'éspère que ça fera l'affaire.
Sinon, bon, pour le report d'erreur, je me souviens que dans le zip de php 4.3.4 de windows, il était même pas activé... =)
sinon le "tt plein de variables indéfinies", il devait à tout casser en avoir trois qui se répétaient, c'est tout, enfin voilà, corrigé, en ligne, c plus beau, y'a plus d'erreur, qu'en pensez-vous ?

Commentaire de nfs10 le 26/06/2004 09:31:50

C une bonne idée mais moi j'ai :
Parse error: parse error, unexpected '%' in c:\internet\php\easyphp1-7\www\tmp\etajv.htm on line 86.
Autre chose ca serait bien si tu trouvais un moyen de télécharger le truc payant d'atajv mais gratuitemant sinon c'est pas mal ton truc

Commentaire de Kirua le 26/06/2004 16:25:40

nfs c'est pas une communauté de lammers/crackers, écrase stp ... les types de l'ETAJV font une boulot considérable, touche pas à leur travail.

Commentaire de scullder le 15/07/2004 00:02:19

oui, même si au niveau test et tout c'est pas toujours excellent, au niveau des tips, y'a rien à redire :)
nfs, pour ton erreur alors déjà soit t'as configuré ton easyphp bizarrement (.htm ?) et donc g des doutes sur l'erreur, sinon je vois pas d'erreur ligne 86 sinon. o_O chez moi ça marche (vient de retester)

Commentaire de Epoc22 le 20/02/2007 15:56:34

nfs10 t'a abusé

Commentaire de Epoc22 le 20/02/2007 15:58:04

J'ai jsute une question les gars : pourquoi ça marche que en ligne de commande ?

Commentaire de scullder le 20/02/2007 16:06:06

Parce que j'ai pas programmé d'interface. Si t'es motivé, fait en une mais apprête toi à revoir le code, jeuxvideo.com a bien changé depuis 2004. =]

Commentaire de Epoc22 le 20/02/2007 18:03:42

Ok ben je vais tenter... j'aime pas trop la ligne de commande

Commentaire de Epoc22 le 20/02/2007 18:05:20

Euh comment ça a bien changé ?

Commentaire de Epoc22 le 20/02/2007 18:30:05

C'est normal que ça marche pas ?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 1,139 sec (3)

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