wgetコマンドのUserAgentを設定ファイルで指定するには

概要

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.shtmlCode 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.shtmlCode 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)

wgetコマンド
wgetrcの命令

タイトルとURLをコピーしました