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
というコマンドを打ちます。
これでスクレイピングした内容をファイルに残せるようになりました。更に秀丸マクロと組み合わせればいろいろなことが可能になります!
じゃあどんな風に使うかってことは…
また別の機会に説明しますね。
お楽しみに!