回答:
wget
ドキュメントのみを取得します。ドキュメントがHTMLの場合、必要なのはドキュメントの解析の結果です。
たとえば、lynx -dump -nolist
オオヤマネコがいる場合は、を使用できます。
lynx
は-dump
、構文解析プロセスの結果を出力するために使用される機能を備えた、軽量でシンプルなWebブラウザーです。-nolist
ページにハイパーリンクがある場合に表示されるリンクの最後のリストを回避します。
@Thorで述べたように、elinks
これにも-dump
オプションがあります(-no-references
リンクのリストを省略する必要があるため)。-sigh-フレーム(MTFBWY)を使用してサイトを横断する場合に特に便利です。
また、ページが実際にHTMLタグを含むCコードだけである場合を除き、結果を確認する必要があります。Cコード以外のコードがないことを確認するためです。
これらの他のツールがインストールされておらず、wgetのみがあり、ページにプレーンテキストとリンク(ソースコードやファイルのリストなど)だけの書式設定がない場合、次のようにsedを使用してHTMLを削除できます。
wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'
これは、wgetを使用してページのソースをSTDOUTにダンプし、sedを使用して<>ペアとそれらの間の何かを取り除きます。
その後、>を使用して、sedコマンドの出力を作成するファイルにリダイレクトできます。
wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt
NB:ファイルに不要な余分な空白があることがわかります(たとえば、行は数列インデントされています)
テキストエディタを使用してファイル(またはCソースコードをダウンロードしているソースフォーマッタ)を整理するのが最も簡単な場合があります。
ファイルのすべての行に対して同じ簡単なことを行う必要がある場合、sedコマンドにそれを行うコマンドを含めることができます(ここでは先頭のスペースを1つ削除します)。
wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt
.c
。難しくはありませんが、ページ構造に依存します。あなたがリンクを提供するなら、誰かが正確なコードであなたを助けるかもしれません。そうでなければ、sed
またはperl
あなたの友達です。