2017-02-04 10 views
0

私はYii Frameworkで書かれた特定のウェブサイトから特定のテレビチャンネルスケジュールを取ることができるPHPスクリプトを作ろうとしています。私はPHPのcURLを使用して完全なHTMLを取得しようとしていますが、私はこのセクションを見つけることができません。動的にロードされたウェブサイトのスケジュールを取得するためのPHPスクリプト

$curl = curl_init('http://port.hu/tv'); 
curl_setopt ($curl, CURLOPT_POSTFIELDS, 'id=tvchannel-3&date=2017-02-05'); // for example 
curl_setopt($curl, CURLOPT_FAILONERROR, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl, CURLOPT_POST, 1); 
$content = curl_exec($curl); 
echo $content; 

同じ結果を得たphp file_get_contentsを試してみました。何か案が?ありがとう。

+0

(1)ChromeのDev Toolsで、スケジュールを取得するためにサイトが行っていることを確認するには、これは 'GET'で' POST'(2)ではありません。チェックアウト: 'http://port.hu/tvapi?channel_id%5B%5D = tvchannel-194&date = holnapi' –

+0

はい! APIがありました。それが解決策でした。ありがとう。 GETを使用すると、動的AJAXコンテンツのため同じ問題が発生します。 – Zeta

答えて

0

ウェブサイトのページからデータを読み込むためにウェブサイトがajaxを使用しているように見えるので、ウェブサイトのページから直接スクラップすることはできません。 だから何私は、私はChromeデベロッパーツールを使用して、ページ上のネットワークアクティビティを監視し、私は、このAPIのURLを見つけました:

http://port.hu/tvapi?channel_id=tvchannel-3&i_datetime_from=2017-02-05&i_datetime_to=2017-02-10

これは、JSON文字列を返され、DEVが確保されませんAPI。 JSON APIを直接ロードしてください。

+0

素晴らしい!どうもありがとうございます!私はいくつかのAPIを探していましたが、それを見つけられずにHTMLを取得し始めました。それは完全に動作します。 – Zeta

+0

ようこそ。お役に立てて嬉しいです –

関連する問題