我试图抓住来自不断发送文本的URL的所有数据(文本),我尝试使用PHP,但这意味着让脚本运行整个时间,而不是真的(我认为)。所以我最终使用了BASH脚本。
目前我使用wget(我无法使用CURL将文本输出到文件中)
wget --tries=0 --retry-connrefused http://URL/ --output-document=./output.txt
所以wget似乎工作得很好,除了一件事,每次我重新启动脚本wget都会清除output.txt文件并重新开始填充它,这不是我想要的。 有没有办法告诉wget附加到txt文件?
此外,这是捕获实时数据流的最佳方式吗? 我应该使用Python或其他语言吗?
答案 0 :(得分:4)
你可以wget --tries=0 --retry-connrefused $URL -O - >> output.txt
。
说明:参数-O
是--output-document
的缩写,短划线-
表示标准输出。
行command > file
表示写入“command
到file
的写入输出”,command >> file
表示“{em>追加 {{1}的输出}} command
“这就是你想要的。
答案 1 :(得分:1)
默认情况下,Curl不遵循重定向,如果存在重定向则不输出任何内容。为了以防万一,我总是指定--location
选项。如果您想使用curl
,请尝试:
curl http://example.com --location --silent >> output.txt
--silent
选项会关闭进度指示器。
答案 2 :(得分:0)
你可以试试这个:
虽然真实
做什么
wget -q -O - http://example.com>> filename#-O - 输出到屏幕
睡2#睡2秒
完成
答案 3 :(得分:0)
curl http://URL/>> output.txt的
>>将输出从curl重定向到output.txt,附加到已存在的任何数据。 (如果只是> output.txt - 每次运行时都会覆盖output.txt的内容。)