curl
を使うと何がいいのか?
ウェブサイトのHTMLファイルをコマンドひとつで簡単にゲットできるようになります。
これをウェブスクレイピングと呼びます。
CurlをWindows10にインストールしてウェブサイトをスクレイピングしましょう!
Linuxを使用している方にはcurlとかwgetというコマンドはお馴染みだと思いますが、Windowsユーザは知らない方も多いのではないかと思います。
CurlのWindows10へのインストール
CurlのWindows10へのインストール方法を説明します。
はるなぴの手元環境がWindows10なのでWindows10で説明しますがWindows8やWindows7でも同様にインストール可能だと思います。
ChocolateyによるCurlのインストール
Chocolateyをインストール済みの方は簡単です。コマンドを叩くだけ。
Chocolatey未インストールの方は以下のサイトを参考にインストールしてみてくださいね。
さてWindowsでコマンドを叩くなら…Cmder(コマンダー)がお勧めですよ。
未インストールの方はこちらの記事をご参照ください。
さて準備が整ったらChocolateyを使いCmderからインストールコマンドを打ちましょう。ちなみにCmderは右クリックで「管理者で実行」を選択して起動してくださいね。
まずはcurlのバージョンを調べましょう。
choco search curl
これでChocolateyでインストールするcurlのバージョンが分かります。
2018年10月現在バージョンは7.61.1でした。Curlのダウンロードサイトで確認すると2018年9月5日に公開された最新バージョンであることが分かります。
なのでこのままChocolateyでインストールコマンドを打ちます。
choco install curl -y
コマンドの最後に-yをつけると途中でy/nを聞かずに一気にインストールしてくれます。簡単簡単!
ちゃんとインストールできたかどうかCurlのバージョン確認をしておきましょう。
curl -V
きちんとインストール終了できているようです。
Curlの使い方
インストールが完了したらさっそくCurlを使ってみましょう。
Curlをコマンドラインから使用する
コマンドラインからコマンドを叩いて使用します。
その前に文字コードをUTF-8に変更しておきましょう。コマンドは
chcp 65001
です。Windowsのcp932に戻す場合は
chcp 932
で戻ります。
はるなぴのはてなブログサイトのトップページでスクレイピングを試してみましょう。
curl https://www.halu7.com/
このコマンドでトップページのHTMLが取得できます。もしうまくいかない時は…
企業の中からアクセスしていませんか?そうした場合はプロキシ設定が必要なこともあります。
Proxyの内側からCurlコマンドを打つオプション
プロキシのサーバ名とポートを調べてください。
IE11やEdgeなどウェブブラウザのオプション設定からプロキシサーバーを確認することができます。
curl -x <[プロトコル://][ユーザ:パスワード@]プロキシホスト[:ポート]> https://ameblo.jp/hal7pi/
でOKです。
例えばこんな感じになります。(ユーザ:パスワードやポート番号は不要な場合もあります)
curl -x https://proxyserver@example.com https://ameblo.jp/hal7pi/
取得したHTMLをファイルに落とす方法
取得したHTMLをファイルに落とすにはリダイレクトを使います。
「リダイレクって何?」という方はこちらの記事をご参照ください。
例えばoutput.html
というファイル名のファイルにHTMLを落としたければ…
curl https://www.halu7.com/ > output.html
というコマンドを打ちます。
これでスクレイピングした内容をファイルに残せるようになりました。更に秀丸マクロと組み合わせればいろいろなことが可能になります!
じゃあどんな風に使うかってことは…
また別の機会に説明しますね。
お楽しみに!
2018/10/27追記:
Windows 10 (April 2018 Update以降) ではOS標準でcurlが搭載されているとのコメントをいただいています。(こちらの記事をご参照ください)
WindowsのコマンドプロンプトからOS標準のsshやtarやcurlコマンドを使う | そど
なのでcurlコマンドを叩くとこのcurlが実行されます。バージョンは2018年10月現在7.55.1です。
Chocolateyを使って入れたcurlを使いたい(curlのバージョン管理をChocolateyを使って行いたい)場合はパスの設定を変更する必要があります。
コントロールパネルを開きます。
「システムとセキュリティ」を選択します。
「システム」を選択します。
「システムの詳細設定」を選択します。
「Windows」キーと「Pause」キーを同時押しすると一気にこの画面まで来ることができます。
「詳細設定」のタブから「環境変数」を選びます。
「システム環境変数」から「Path」を選び「編集」ボタンを押します。
「C:¥ProgramData¥chocolatey¥bin」を選択し「上へ」ボタンを使って一番上まで上げます。
Chocolateyを使って入れたcurlはこのディレクトリの下に入っていますので優先して実行されることになります。
また、
choco upgrade all
コマンドを打てばChocolateyを使ってインストールしたソフトが(可能であれば)全てバージョンアップ可能です。
最新のcurlにバージョンアップするのも簡単ですね!