Javascript で生成されたコンテンツ (この場合は HTML テーブル) を含むページの HTML ソースをスクレイピングするための優れたソリューションはありますか?
Crowbarを使用した実行可能なソリューションですが、非常に単純です。
<?php
function get_html($url) // $url must be urlencode(d)
{
$context = stream_context_create(array(
'http' => array('timeout' => 120) // HTTP timeout in seconds
));
$html = substr(file_get_contents('http://127.0.0.1:10000/?url=' . $url . '&delay=3000&view=browser', 0, $context), 730, -32); // substr removes HTML from the Crowbar web service, returning only the $url HTML
return $html;
}
?>
Crowbar を使用する利点は、ヘッドレス Mozilla ベースのブラウザーのおかげで、テーブルがレンダリングされる (およびアクセス可能になる) ことです。編集:Crowbarの問題は、サーバーのダウンタイムではなく、競合するアプリであることがわかりました。これは単なる偶然でした.