Script bash et script php

Fermé
xhunter54 - 22 juin 2010 à 14:56
 xhunter54 - 22 juin 2010 à 16:12
Hello,

je vais essayer de vous presenter mon pb le plus simplement possible.

Je bosse en bash et je voulais réaliser un script qui "aspire " le code source d'une page web afin de comparer celui ci avec le code source de la meme page à une date anterieure.

Dans mon script bash, je lance mon script php:
php script.php
seulement je voudrais passer un argument à l'appel du script php -> $adresse afin que le script php suivant puisse récuperer le code source de la page dont l'url est contenue dans la variable $adresse de mon script bash.

Le code php ( avec le pb de recuperation de la variable du bash )

<?php
//$_GET['param1'] quelle méthode ??
//$chemin_fichier = $argv[1];

$fp=@fopen($chemin_fichier,"r");
$sauvegarde = fopen('fichierderecup.txt', 'w+');
$contenu = "";

if($fp)
{
while(!feof($fp))
{
$contenu .= fgets($fp,1024);
}

fputs($sauvegarde, $contenu);
}
else
{
echo "Impossible d'ouvrir la page $chemin_fichier";
}

fclose($sauvegarde);

?>

mon fichier bash est ici tout simplement:

#!/bin/bash

#déclaration de la variable de la 1ere page des débats à récuperer
addebat="http://www.adressedelapage.com"

#script php qui récupere la nouvelle page du site
php script.php?argv$addebat

etc

Probleme: impossible de transmettre la bonne adresse. Comme je voudrais utiliser ce script pour differentes pages, j'ai besoin de ce systeme de parametres..

merciiiiiiiii
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2010 à 15:27
Salut,

Pourquoi passes-tu par "php" pour récupérer le code source ?
wget, w3m ou curl peuvent le faire tout aussi bien, non ?
0
en effet :$ wget me permet de récuperer le code source directement. Je l'utilise dans la suite de mon script qui plus est..! merci

cependant, en utilisant wget directement, je me retrouve face a un autre probleme:

j'utilise un fichier adresse.txt comprenant plusieurs url ( une sur chaque ligne ) avec l'option -i et wget pour récuperer les differentes pages.

wget -i adresse.txt

or wget renomme les fichiers au fur et a mesure au lieu des les ecraser avec des indices xxx.1 xxx.2 qand ceux ci ont le meme nom.
Comment faire pour que wget me renvoi chaque page en écrasant la version précédente si celle ci existe deja ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2010 à 16:07
       -nc
       --no-clobber
           Si un fichier est téléchargé plus d'une fois dans un même réper-
           toire, le comportement de Wget dépend de plusieurs options parmi
           lesquelles -nc.  Dans certains cas, le fichier local sera remplacé
           au fur et à mesure des téléchargements. Dans les autres cas, il
           sera préservé.

           Quand Wget est lancé sans -N, -nc, ni -r, le téléchargement d'un
           même fichier dans un même répertoire préservera le fichier original
           fichier, les copies suivantes seront renommées fichier.1, fichier.2
           et ainsi de suite.  Si l'option -nc est spécifiée, ce comportement
           est supprimé, Wget ne téléchargera pas les nouvelles copies de
           fichier. C'est pourquoi no-clobber n'est pas un nom totalement
           adapté pour ce mode : ce n'est pas contre l'expulsion du fichier
           qu'elle protège (les suffixes numériques empêchent déjà le clobber-
           ing), mais elle empêche la sauvegarde des version multiples.

           Quand Wget est lancé avec -r, mais sans -N ni -nc, le retélécharge-
           ment d'un fichier écrasera l'ancienne version de celui-ci.
           L'option -nc empêche ce comportement : la version originale est
           préservée et les nouvelles copies du serveur sont ignorées.

           Quand Wget est lancé avec -N, indépendamment de -r, la décision de
           télécharger la nouvelle version du fichier dépend des dates du
           fichier local et distant et de la taille du fichier.  -nc ne
           devrait pas être spécifié en même temps que -N.

           Remarquez que si l'option -nc est spécifiée, les fichiers avec
           l'extension .html ou (beurk) .htm seront chargés depuis le disque
           local et analysés comme s'ils avaient été rapatriés depuis le Web.
0
avec -nc, " Dans certains cas, le fichier local sera remplacé au fur et à mesure des téléchargements. Dans les autres cas, il sera préservé." -> je dois avoir la poisse mais j'ai comme retour "xxx est deja la, pas de récuperation."

OU alors, est ce possible de renommer directement ces fichiers ? ( le man de wget est tellement fourni que je m'y suis perdu plus d'une fois )
0