php脚本获取动态加载的网站计划

时间:2017-02-04 03:18:25

标签: php curl yii

我试图制作一个PHP脚本,可以从Yii Framework中编写的特定网站获取特定的电视频道时间表。我试图使用php cURL获取完整的HTML,但我无法找到此部分。

$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,结果相同。任何的想法?感谢。

1 个答案:

答案 0 :(得分:0)

你不能直接从网站页面上刮,因为看起来网站正在使用ajax(我猜)将数据加载到页面上。 所以我做了什么,我使用Chrome开发者工具监控网页上的网络活动,我找到了这个API网址:

  

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

它返回了JSON字符串,并且开发人员不保护API。所以不需要再刮,只需直接加载JSON API。