Question

J'essaie de récupérer toutes les données (texte) provenant d'une URL qui envoie constamment du texte, j'ai essayé d'utiliser PHP mais cela signifierait que le script s'exécute tout le temps, ce pour quoi il n'est pas vraiment fait (je pense).J'ai donc fini par utiliser un script BASH.

Pour le moment, j'utilise wget (je n'ai pas réussi à faire en sorte que CURL affiche le texte dans un fichier)

wget --tries=0 --retry-connrefused http://URL/ --output-document=./output.txt

Donc wget semble fonctionner plutôt bien, à part une chose, chaque fois que je redémarre le script, wget effacera le fichier output.txt et recommencera à le remplir, ce qui n'est pas ce que je veux. Existe-t-il un moyen de dire à wget d'ajouter au fichier txt ?

Est-ce également le meilleur moyen de capturer le flux de données en direct ?Dois-je utiliser un autre langage comme Python ou… ?

Était-ce utile?

La solution

Tu peux faire wget --tries=0 --retry-connrefused $URL -O - >> output.txt.

Explication:Les paramètres -O est l'abréviation de --output-document, et un tiret - moyens sortie standard.

La ligne command > file signifie écrire "écrire la sortie de command à file", et command >> file moyens "ajouter sortie de command à file" c'est ce que tu veux.

Autres conseils

Curl ne suit pas les redirections par défaut et ne génère rien s'il y a une redirection.Je précise toujours le --location option juste au cas où.Si vous souhaitez utiliser curl, essayer:

curl http://example.com --location --silent >> output.txt

Le --silent L’option désactive l’indicateur de progression.

Tu pourrais essayer ceci :

bien que vrai
faire
wget -q -O - http://exemple.com >> nom de fichier # -O - sorties à l'écran
dormir 2 # dormir 2 sec
fait

boucle http://URL/ >> sortie.txt

le >> redirige la sortie de curl vers output.txt, en l'ajoutant à toutes les données déjà présentes.(Si c'était juste > output.txt - cela écraserait le contenu de output.txt à chaque fois que vous l'exécuteriez).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top