Pregunta

Estoy tratando de capturar todos los datos (texto) provenientes de una URL que envía texto constantemente. Intenté usar PHP, pero eso significaría tener el script ejecutándose todo el tiempo, para lo cual no está hecho (creo).Entonces terminé usando un script BASH.

Por el momento uso wget (no pude hacer que CURL envíe el texto a un archivo)

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

Así que wget parece estar funcionando bastante bien, aparte de una cosa, cada vez que reinicio el script, wget borrará el archivo output.txt y comenzará a llenarlo nuevamente, que no es lo que quiero. ¿Hay alguna manera de decirle a wget que agregue al archivo txt?

Además, ¿es esta la mejor manera de capturar el flujo de datos en vivo?¿Debería usar un lenguaje diferente como Python o…?

¿Fue útil?

Solución

Puede hacer wget --tries=0 --retry-connrefused $URL -O - >> output.txt.

Explicación: los parámetros -O es la abreviatura de --output-document, y un medio tablero - salida estándar .

La línea de command > file significa escribir "escribir la salida de command a file", y los medios command >> file " append salida del command a file", que es lo que desea.

Otros consejos

Curl no sigue las redirecciones por defecto y da salida a nada si no es una redirección. Siempre especifica la opción --location por si acaso. Si desea utilizar curl, trate de:

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

La opción --silent se apaga el indicador de progreso.

Usted podría intentar esto:

mientras que la verdadera
hacer
wget -q -O - http://example.com >> nombre de fichero # -O - salidas a la pantalla
el sueño del sueño 2 # 2 seg
hecho

http: // URL / >> salida.txt

el >> redirige la salida de rizo a Output.txt, añadiendo a los datos que ya existen. . (Si fuera sólo> salida.txt - eso sería sobrescribir el contenido de salida.txt cada vez que se ejecutó)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top