Linuxでは、どのようにしてURLを取得し、その内容をシェルスクリプトの変数に取得できますか?
wget
コマンドを使用してページをダウンロードし、次のように変数に読み込むことができます。
content=$(wget google.com -q -O -)
echo $content
wget
の-O
オプションを使用すると、wget
がページの内容をダンプするファイルの名前を指定できます。 -
を指定してダンプを標準出力に取得し、それを変数content
に収集します。 -q
quietオプションを追加して、wget出力をオフにすることができます。
このために curl コマンドを使用できます:
content=$(curl -L google.com)
echo $content
要求しているページが移動した可能性があるため、-L
オプションを使用する必要があります。その場合、新しい場所からページを取得する必要があります。 -L
または--location
オプションはこれに役立ちます。
コマンドラインからページを取得するには多くの方法がありますが、コードソースが必要なのかページ自体が必要なのかによっても異なります。
コードソースが必要な場合:
カール付き:
curl $url
wgetを使用:
wget -O - $url
しかし、ブラウザで表示できるものを取得したい場合、lynxは便利です。
lynx -dump $url
この小さな問題に対する非常に多くの解決策を見つけることができると思います。おそらく、それらのコマンドのすべてのマニュアルページを読む必要があります。 $url
をURLに置き換えることを忘れないでください:)
がんばろう :)
wget
コマンドまたはcurl
があります。
これで、wgetでダウンロードしたファイルを使用できます。または、curlでストリームを処理できます。
リソース:
content=`wget -O - $url`
curl
またはwget
を使用して生データを取得するか、w3m -dump
を使用してWebページのNiceテキスト表現を作成できます。
$ foo=$(w3m -dump http://www.example.com/); echo $foo
You have reached this web page by typing "example.com", "example.net","example.org" or "example.edu" into your web browser. These domain names are reserved for use in documentation and are not available for registration. See RFC 2606, Section 3.
LWP がインストールされている場合、単に " GET "という名前のバイナリが提供されます。
$ GET http://example.com <!DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.01 Transitional // EN"> <HTML> <HEAD> <META http-equiv = "Content-Type" content = "text/html; charset = utf-8"> <TITLE> Webページの例</ TITLE > </ HEAD> <body> <p>&quot; example.com&quot;、 &quot; exampleと入力して、このWebページにアクセスしました。 net&quot;、&quot; example.org&quot または&quot; example.edu&quot; </ p> <p>これらのドメイン名はドキュメントで使用するために予約されており、登録には使用できません 。 <a href="http://www.rfc-editor.org/rfc/rfc2606.txt"> RFC 2606 </a>、セクション3を参照してください。</ p> < /BODY> </HTML>
wget -O-
、curl
、およびlynx -source
は同様に動作します。