Node.jsで暗号資産アービトラージ

ビットコイントレード中心にNode.jsで実際に作るためのレシピ

PuppeteerでWebスクレイピング

Puppeteerの基本的な動かし方

※このページは2019/8/13に作成されました。こんにちは、ケネです。Puppeteerの基本的な動かし方のまとめ記事となります。PuppeteerはNode.jsのライブラリで定型的なブラウザの操作を自動化できるようになります。基本的なコードが書けると流用して自分のやり…

Puppeteerでテキストデータを取得する(スクレイピング)

※このページは2019/8/1に作成されました。こんにちは、ケネです。この記事ではNode.jsのライブラリPuppeteerを使ってWebページに記載されている情報(テキストデータ)を取得する方法を紹介します。取得したテキストデータをテキストファイルに書き込むとこ…

【Node.js】Puppeteerのpage.type()で日本語入力が反転してしまう場合の対処法

※このページは2019/7/14に作成されました。こんにちは、ケネです。この記事ではNode.jsのライブラリPuppeteerを使って文字入力する場合の注意事項について解説します。外部サーバにPuppeteerを設定してブラウザの自動操作をさせる際にサーバの設定によっては…

【Node.js】Puppeteerで文字入力する(ログインする方法も)

※このページは2019/7/14に更新されました。こんにちは、ケネです。この記事ではNode.jsのライブラリPuppeteerを使って文字入力する方法を解説します。固定の文字を何回もWebに入力することってめんどくさいんですよね。 特にスマホはコピーして貼り付けるの…

【Node.js】Puppeteerで画面遷移する(リンクをクリックする)

※この記事は7/3に作成されました。こんにちは、ケネです。この記事ではNode.jsのライブラリPuppeteerを使って画面遷移する(リンクをクリックする)やり方を解説します。 ブラウザの自動操作に興味がある、楽をしたい Puppeteerの基本的な操作を知りたい Puppe…

Puppeteerでエラーメッセージが出た時の対処法:Protocol error (Runtime.evaluate): Target closed.

Puppeteerのエラーが出た際の対処法です。Warningとなっていますが後続の処理は実行されないので対処が必要です。 //エラーメッセージ UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.evaluate): Target closed. Protocol error (Runtim…

【Node.js】スクレイピングをスケジューラーで定時実行させるにはnode-scheduleが便利(起こりやすいエラーも紹介)

スクレイピングツールを毎日決まった時間に動かしたいときのライブラリ(node-schedule)の紹介です。 Linuxでジョブを定時実行するcrontabと同じcron形式なので操作しやすく、導入も簡単なのでおすすめです。スクレイピングツールはPuppeteerを利用します。 …

Puppeteerでボタンをクリックする

※この記事は2019/8/12に更新されました。こんにちは、ケネです。Puppeteerはブラウザのスクレイピング(自動操作)ができるNode.jsのライブラリです。慣れていないと難しく感じますが、基本的な書き方がわかれば思うように動かせるようになります。この記事…

Puppeteerのスクレイピングを同期的に呼び出す(Async/await)

PuppeteerのスクレイピングをAsync/awaitを使って同期的に呼び出す方法です。 Async/awaitについて理解できていれば普通に作れると思いますが、慣れていないと難しいと思いますので参考にしてください。 (私もハマりました。。。) Node.jsで非同期処理を実…

ブラウザ自動操作で楽したいならPuppeteerを使おう

個人的によく使っているPuppeteer(伸ばさずにパペティアって読みます)の紹介記事です。 Webスクレイピングでブラウザの自動遷移とかができます。使えるシーン公式サイトを見るとメインの用途はテスト自動化のようです。 ブラウザ操作を自動化することで画面…

Puppeteerでマルチスレッドが落ちる原因

はじめに さくらVPSにWebスクレイピング用途でPuppeteerアプリケーションを置いて毎日定時実行していましたが、スクレイピングの関数をマルチで実行すると動いていなかったようだったのでマルチスレッドで起動する方法を調べました。 スクレイピングを関数単…