如何从网址获取实时文本?

0 投票
4 回答
529 浏览
提问于 2025-04-15 16:38

我想从一个不断发送文本的URL获取所有数据(文本),我试过用PHP,但那样的话脚本就得一直运行,而我觉得这并不是它的本意。所以我最后用了一个BASH脚本。

目前我在用wget(我没法让CURL把文本输出到文件里)

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

所以wget似乎工作得不错,除了一个问题,每次我重新启动脚本时,wget都会清空output.txt文件,然后重新开始填充,这不是我想要的。有没有办法让wget把内容追加到txt文件里?

另外,这样捕捉实时数据流是最好的方法吗?我应该用Python之类的其他语言吗?

4 个回答

0

使用命令:curl http://URL/ >> output.txt

这里的 >> 是把 curl 命令的结果保存到 output.txt 文件里,并且会把新内容加到文件已有的内容后面。如果你用的是 > output.txt,那每次运行这个命令时,output.txt 里的内容就会被新内容覆盖掉。

1

Curl 默认情况下不会自动跟随重定向,如果遇到重定向,它什么都不会输出。我总是会加上 --location 这个选项,以防万一。如果你想使用 curl,可以试试:

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

--silent 这个选项可以关闭进度指示器。

4

你可以使用这个命令:wget --tries=0 --retry-connrefused $URL -O - >> output.txt

解释一下:参数 -O--output-document 的简写,而一个短横线 - 表示 标准输出

这里的 command > file 意思是把 command 的输出写入到 file 这个文件里,而 command >> file 则表示把 command 的输出 追加file 里,这正是你想要的效果。

撰写回答