CURL を使用してこの URL を取得しました
$url = "http://www.juno.co.uk/all/today/?items_per_page=100&show_digital=0&show_tracks=0&show_covers=0";
$c = curl_init();
curl_setopt($c, CURLOPT_URL,"$url");
curl_setopt($c,CURLOPT_POST,true);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20); //give it adequate time
curl_setopt($c, CURLOPT_TIMEOUT, 50);
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($c, CURLOPT_RETURNTRANSFER,1);
if(!$complete = curl_exec($c))
{
echo "Failed to curl $url\n";
}
次に、次を使用して単純なhtml domに渡そうとしています
$home_page = str_get_html($complete);
これは「PHP Fatal error: Call to a member function find() on the non-object」エラーをスローしています
foreach($home_page->find('tr.row2') as $home_details)
{
//do stuff
}
「items_per_page」パラメーターを 50 に変更すると、機能します。上記のリンクは有効で、$complete をエコーするとページ コードが表示されます。
simple_html_dom はスクリプトの早い段階でロードされ、正しく機能します。
CURL の代わりに file_get_html を試しましたが、同じ結果になりました