Domanda

Sto cercando di acquisire tutti i dati (testo) provenienti da un URL che invia costantemente testo, ho provato a utilizzare PHP ma ciò significherebbe avere lo script in esecuzione per tutto il tempo per il quale non è realmente creato (credo).Quindi ho finito per usare uno script BASH.

Al momento utilizzo wget (non sono riuscito a fare in modo che CURL generi il testo in un file)

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

Quindi wget sembra funzionare piuttosto bene, a parte una cosa, ogni volta che riavvio lo script wget cancellerà il file output.txt e inizierà a riempirlo di nuovo, il che non è quello che voglio. C'è un modo per dire a wget di aggiungere al file txt?

Inoltre, è questo il modo migliore per acquisire il flusso di dati in tempo reale?Dovrei usare un linguaggio diverso come Python o...?

È stato utile?

Soluzione

Tu puoi fare wget --tries=0 --retry-connrefused $URL -O - >> output.txt.

Spiegazione:i parametri -O è l'abbreviazione di --output-document, e un trattino - significa uscita standard.

La linea command > file significa scrivere "scrivere l'output di command A file", E command >> file significa "aggiungere uscita di command A file"che è quello che vuoi.

Altri suggerimenti

Curl non segue i reindirizzamenti per impostazione predefinita e non restituisce nulla se è presente un reindirizzamento.Specifico sempre il --location opzione per ogni evenienza.Se vuoi usare curl, Tentativo:

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

IL --silent l'opzione disattiva l'indicatore di avanzamento.

Potresti provare questo:

mentre è vero
Fare
wget -q -O - http://esempio.com >> nome file # -O - output sullo schermo
sonno 2 # sonno 2 sec
Fatto

arricciare http://URL/ >> output.txt

il >> reindirizza l'output da curl a output.txt, aggiungendo tutti i dati già presenti.(Se fosse solo > output.txt, questo sovrascriverebbe il contenuto di output.txt ogni volta che lo esegui).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top