おはようございます.Scraper API(スクレイパーAPI)という物を使用すればJS駆動のサイトでもサイトを解析出来るようですね.殆どの近年作られたサイトはどこかしらでJavascriptのコードで動いている部分があるのでスクレイピングが出来ない.
またジャバスクリプトがオンになっていないとページ(サイト)の読み込みが出来ないサイトもあるのが現状だと思います.
そこでScraper API(スクレイパーAPI)というサービスを使用すればそういう解析が出来る.因みにVPSやAWSなどのサーバーだったらNodeJsを導入すれば簡単に解析が出来るのだけど、国内のレンタルサーバーなどでは、そもそもNodeJsがインストール出来ないのである.
スクレイパーAPIの使い方は簡単でPHP言語で使用したい場合はこんな感じです.
<?php
// APIキーと対象URL
$apiKey = 'xxxxxx';
$targetUrl = 'https://example.com?var1=value1&var2=value2';
// GET用のScraperAPIリクエストURLを構築(render=trueでJS有効)
$scraperApiUrl = 'https://api.scraperapi.com?' . http_build_query([
'api_key' => $apiKey,
'url' => $targetUrl,
'render' => 'true' // JavaScriptを有効にする
]);
// cURLでGETリクエスト送信
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $scraperApiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// レスポンス出力
print_r($response);
尚、こちらのコードはGETパターンですがPOSTでも操作出来たりします.SDKもあるのでそちらで対応したほうがやりやすいかもです.
明日へ続く