久しぶりの開発日誌です。
2022年に入り、現在、サブスク型サービスの立ち上げに日々忙しいです。
その傍らで、ブラウザ自動操作ツールであるPuppeteer(パペッティア)をいじっています。
Puppeteerに似ているツールとしてSeleniumがありますが、大きな違いとしてはWebdriverが消せるかどうかにあります。
Webdriverとはなにかというと自動操作の識別子みたいなもので、要するに消せない=自動操作だとバレやすいことを意味します。
で、Puppeteerを動かすにはnode.jsが必要で、WindowsにもMacにもインストールはできるのですが、クラウド上すなわちローカルではない環境にインストールするにはVPSになります。
または、自由にサーバー環境を構築できることが必須となります。
残念ながら、node.jsはレンタルサーバーでは使えないため、自分で環境がカスタマイズできるVPSでないとダメなんですね。
VPSの問題は素人がいじるには敷居が高いことです。
その点レンタルサーバーなら契約すれば環境はほぼ整っていますし、WordPressなんかは1発インストール機能があったりします。
そこで、私の方でVPSを借りてnode.jsとPuppeteerをインストールします。
それを顧客側のWordPressで操作できるようにしよう、と考えています。
こうすることで、顧客側はVPSを借りる必要がなくなります。
で、なぜPuppeteerとかSeleniumかというと、ブラウザでないとスクレイピングできないサイトが増えてきているからです。
例えば、会員制サイトやメ○カリといったサイトは、PHPだけでスクレイピングができません。
ブラウザ側でレンダリングしないと正しく(見ているように)表示されないんですね。
しかし、Puppeteerを使えばメ○カリにもログインできるし、基本的にはどんなサイトも普通に表示して、スクレイピングすることができます。
WordPressと連携させることで、一定間隔で自動処理をさせる、ということもできます。