URL からライブ テキストを取得するにはどうすればよいですか?
-
12-09-2019 - |
質問
テキストを常に送信している URL からのすべてのデータ(テキスト)を取得しようとしています。PHP を使用しようとしましたが、それはスクリプトをずっと実行することを意味し、実際にはそのために作られていない(と思います)。そこで、最終的には BASH スクリプトを使用することになりました。
現時点ではwgetを使用しています(テキストをファイルに出力するためのCURLを取得できませんでした)
wget --tries=0 --retry-connrefused http://URL/ --output-document=./output.txt
したがって、wget はかなりうまく機能しているようですが、1 つのことを除けば、スクリプトを再起動するたびに、wget はoutput.txt ファイルをクリアし、再度書き込みを開始しますが、これは私が望むものではありません。 wgetにtxtファイルに追加するように指示する方法はありますか?
また、これはデータのライブ ストリームをキャプチャする最良の方法ですか?Python などの別の言語を使用する必要がありますか?
解決
あなたはwget --tries=0 --retry-connrefused $URL -O - >> output.txt
を行うことができます。
説明:パラメータ-O
が--output-document
の略で、ダッシュ-
手段の標準出力の。
ラインcommand > file
は "のAPPEND のcommand
するfile
の出力" あなたが欲しいものである。
command >> file
するcommand
の出力を書き込む"、およびfile
手段意味します 他のヒント
カールは、デフォルトではリダイレクトを追跡し、リダイレクトがある場合は何も出力しません。私はいつも念のために--location
オプションを指定します。あなたがcurl
を使用したい場合は、試してみてください。
curl http://example.com --location --silent >> output.txt
--silent
オプションは、進捗インジケータがオフになります。
あなたはこれを試すことができます:
真
ながら、
行います
wgetの-q -O - http://example.comする >>ファイル名#の-O - 画面に出力する
睡眠2#睡眠2秒
行って
カールます。http:// URL / に>> output.txtと
>>既にそこに任意のデータを追加、OUTPUT.TXTするカールからの出力をリダイレクトします。 (それだけで> output.txtとした場合 - あなたはそれを実行したoutput.txtと毎回の内容を上書きすること)
。