【AWS】LightSailでNode.jsを使ったスクレイピング


月額5$の安価で借りれるLightsailを使ってスクレイピングしてみました。

Node.js付きのインスタンスを作れるので、これを使っていきます。

 

まず情報をとるだけなら http/http モジュールを使ってとることはできます。

しかしこれでWebページのDOM操作は至難ですので専門のものを使います。

 

試したものとして cheerio-httpcli というモジュールはシンプルで使いやすいです。

過去にも使っていたこともあって、これを使いたかったけど動的に変化するページに弱い。最近はどこも ajax で順次読み込みをしているため使えないことが多かった。

 

今回は puppeteer という chrome を利用するものを使います。

 

関数などが直感的で使いやすいです。

Windowsで使う分には何の問題もありませんでしたが、Lightsail(Ubuntu)で使うために多少セッティングが必要です。

 

UbuntuにChromeを入れる

まず Chrome のダウンロードページ一番下から他のプラットフォーム→Linux選択

 

debファイルを保存してAWSに送っておきます。

インストール

Chromeと周辺機能インストール完了後に
でインストール。

※windowsでインストールしたものを持っていくだけだとダメです。

 

これで大体のページは簡単にスクレイピング(クローリング)できます。

 


コメントを残す

メールアドレスが公開されることはありません。