0

我试图从一个不断发送文本的 URL 中获取所有数据(文本),我尝试使用 PHP,但这意味着脚本一直在运行,而这并不是真正的目的(我认为)。所以我最终使用了 BASH 脚本。

目前我使用 wget(我无法让 CURL 将文本输出到文件)

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

所以 wget 似乎工作得很好,除了一件事,每次我重新启动脚本 wget 都会清除 output.txt 文件并重新开始填充它,这不是我想要的。有没有办法告诉 wget 附加到 txt 文件?

此外,这是捕获实时数据流的最佳方式吗?我应该使用不同的语言,比如 Python 还是……?

4

4 回答 4

4

你可以做到wget --tries=0 --retry-connrefused $URL -O - >> output.txt

说明:参数-O是 的缩写--output-document,破折号-表示标准输出

该行command > file表示写入“将输出写入commandfile”,并command >> file表示“将输出附加commandfile”,这是您想要的。

于 2009-12-03T10:52:14.977 回答
1

默认情况下,Curl 不遵循重定向,如果有重定向,则不输出任何内容。我总是指定--location选项以防万一。如果您想使用curl,请尝试:

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

--silent选项关闭进度指示器。

于 2009-12-03T12:51:03.800 回答
0

你可以试试这个:

while true
do
wget -q -O - http://example.com >> filename # -O - 输出到屏幕
sleep 2 # sleep 2 sec
done

于 2009-12-03T10:48:25.807 回答
0

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

>> 将输出从 curl 重定向到 output.txt,附加到已经存在的任何数据。(如果它只是 > output.txt - 每次运行时都会覆盖 output.txt 的内容)。

于 2009-12-03T10:51:55.490 回答