概要
wgetコマンドの引数オプションが多くなってくると、引数オプションの入力が面倒になってきます。解決方法の1つ目は、シェルスクリプトを作ることです。2つ目は、wgetrc設定ファイルに記述することです。ここでは2つ目のwgetコマンドの設定ファイルの使い方について説明します。
引数オプションでUserAgentを指定するには
Ubuntuのwget既定のUserAgentは "Wget/1.17.1 (linux-gnu)" でした。引数オプションでUserAgetを指定するには、次のようにします。ここでは確認くんにアクセスしてみます。
1行で入力します。
$ wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36" https://www.ugtop.com/spill.shtml
Code language: JavaScript (javascript)
UserAgentが長いので、コピペするのも面倒です。シェル変数に代入して、入力しやすくしましょう。
$ user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
$ wget --user-agent="$user_agent" https://www.ugtop.com/spill.shtml
Code language: JavaScript (javascript)
引数オプションを少しづつ変更して試したいときは、URLもシェル変数に代入します。
$ user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
$ url=https://www.ugtop.com/spill.shtml
$ wget --user-agent="$user_agent" $url
Code language: PHP (php)
設定ファイルでUserAgentを指定するには
設定ファイルのメリットの1つ目は、ファイルごとコピペして、他のプロジェクトや作業で使い回ししやすいことです。
設定ファイルのメリットの2つ目は、git管理しやすいことです。設定ファイルがコミット履歴にあっても、wgetの設定を編集しただけで、他の処理は編集していない、ということがすぐわかります。
設定ファイルでUserAgentを指定するには、設定ファイルに次のように書きます。ファイル名は任意ですが、先頭ドットなしの wgetrc にすることが多いです。
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Code language: JavaScript (javascript)
次のようにwgetコマンドを実行します。
$ wget --config=wgetrc https://www.ugtop.com/spill.shtml
Code language: JavaScript (javascript)
カレントディレクトリにspill.shtmlというファイルが保存されます。spill.shtmlをテキストエディタで表示すると、62行目あたりに、現在のブラウザーが見つかります。UserAgentがChromeになっていることが確認できました。
<th>現在のブラウザー</th>
<td>"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Code language: HTML, XML (xml)