はるなぴログ

WEBサイト作成技術研究

curlをWindows10にインストールしてウェブサイトをスクレイピングしよう!

curlを使うと何がいいのか?

ウェブサイトのHTMLファイルをコマンドひとつで簡単にゲットできるようになります。

これをウェブスクレイピングと呼びます。

CurlをWindows10にインストールしてウェブサイトをスクレイピングしましょう!

Linuxを使用している方にはcurlとかwgetというコマンドはお馴染みだと思いますが、Windowsユーザは知らない方も多いのではないかと思います。

CurlのWindows10へのインストール

f:id:hal7pi:20181021104409j:plain

CurlのWindows10へのインストール方法を説明します。

はるなぴの手元環境がWindows10なのでWindows10で説明しますがWindows8やWindows7でも同様にインストール可能だと思います。

ChocolateyによるCurlのインストール

Chocolateyをインストール済みの方は簡単です。コマンドを叩くだけ。

Chocolatey未インストールの方は以下のサイトを参考にインストールしてみてくださいね。

ameblo.jp

さてWindowsでコマンドを叩くなら…Cmder(コマンダー)がお勧めですよ。

未インストールの方はこちらの記事をご参照ください。

ameblo.jp

さて準備が整ったらChocolateyを使いCmderからインストールコマンドを打ちましょう。ちなみにCmderは右クリックで「管理者で実行」を選択して起動してくださいね。

まずはcurlのバージョンを調べましょう。

choco search curl

これでChocolateyでインストールするcurlのバージョンが分かります。

f:id:hal7pi:20181021104749p:plain

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をファイルに落とすにはリダイレクトを使います。

「リダイレクって何?」という方はこちらの記事をご参照ください。

ameblo.jp

例えばoutput.htmlというファイル名のファイルにHTMLを落としたければ…

curl https://www.halu7.com/ > output.html

というコマンドを打ちます。

これでスクレイピングした内容をファイルに残せるようになりました。更に秀丸マクロと組み合わせればいろいろなことが可能になります!

じゃあどんな風に使うかってことは…

また別の機会に説明しますね。

お楽しみに!