海外サイトのクローリングに有効なVPNサービス

海外サイトをクローリングしていると、現地のIPアドレスでなければ望んでいるデータが得られないことがあります。例えば、Google PlayやApp Storeは接続している国によって情報が異なるので、欲しい情報の国のIPアドレスでの接続が必須です。 欲しい情報がある国にサーバを立てれば、その情報を確実に得られますが、その国が50などあればサーバ費用が嵩んでしまいます。常時クローリングしているのでなければ現実的ではないでしょう。そんなときVPN (Virtual Private Network) サービスを利用するといいでしょう。

VPNサービス

VPNとは、一般的に企業がデータの送受信を安全に行うために利用されているネットワークです。インターネット回線を、あたかも専用線のように利用することができます。では、なぜ海外サイトのクローリングに有効なのかと言えば、VPNサーバを経由してサイトにアクセスするため、IPアドレスを偽装できるからです。 IPアドレスを偽装するのであればプロキシやトーアなどもありますが、プロキシは通信が暗号化されないためセキュリティ面が甘く、トーアは処理が遅いのであまり適していないと考えています。

なぜVPNサービスを利用するのか

では実際にVPNサービスを利用するにあたって、サイトをクローリングするときバッチなどを用いることが多いでしょう。そのためコマンドよりVPNサービスを利用することが必須となります。多くのVPNサービスでは優れたGUIが用意されていますが、バッチで利用するには適していません。またコマンドが利用できるVPNサービスもありますが、ベータ版のままで開発が止まっているものも多くあります。

ExpressVPNはコマンド利用可能なVPNサービス

そこでオススメするのがExpressVPNです。 https://www.expressvpn.com/jp/ こちらは多くのプラットフォームに対応しており、もちろんLinuxにも対応しています。ディストリビューションはUbuntu, Debian, Fedora, CentOS, Raspbianと主要なものはカバーされています。ただし、Amazon Linuxへのインストールを試みましたが、マニュアル通りのインストールでは正常に動作しませんでした。(残念ながら、私の技術では解決できなかったため、大人しくUbuntuで利用しましたが、OpenVPNにも対応しているので、こちらを利用すれば動作させることができるでしょう。) またExpressVPNは、約100カ国にサーバが配置されているので、メジャーな国だけでなくマイナーな国の情報も得ることが可能です。また各国には複数のサーバが用意されているので、もしトラブルに遭遇したとしても別のサーバを利用すれば全く問題ありません。 年間費用は$99.95であり、1アカウント契約すると同時に3接続まで可能です。追加料金を払うことでもっと接続数を増やすことも可能です。VPNサーバを自前で建てることを考えると、比較にならないほど割安ですので、これを利用しない手はないですね。 私はUbuntu 16.04にExpressVPNをインストールし、Pythonよりコマンドを呼び出し利用しました。Ubuntuへのインストール方法は下記に記載されており、動画まで用意されているくらいなので迷うことなくインストールすることができました。 https://www.expressvpn.com/support/vpn-setup/app-for-linux/

まとめ

海外サイトをクローリングするお供としてExpressVPNを紹介しました。約100カ国にサーバが配置されており、これらをコマンドから扱えるため、クローリングには最適なサービスだと考えています。私はExpressVPNを利用し今でもクローリングを行っていますが、これまで一度も問題が発生したことないほど安定しています。ぜひ快適なクローリングをお送り下さい。
» エンジニア登録はこちら