我正在开发一个php报废服务器,所以我有网站列表循环,然后返回每个页面的内容以获取我想要的数据。
有些网站没有完全退回的问题,因为我看到一些数据在页面完全加载后出现
我尝试了这两种方法,但我无法获得整页
第一种方法:
$opts = array('http' =>
array(
'method' => 'GET',
'timeout' => 10
) );
$context = stream_context_create($opts);
$html = file_get_contents('some url',false,$context);
echo $html;
第二种方法
$html = implode('',file('some url'));
echo $html;
我只想在页面加载后1或2秒后返回页面内容。
例如,使用此url我无法获得搜索结果
:Résultats
新闻图片Vidéos标签Filtre par日期
PrécédenteSuivante
答案 0 :(得分:0)
事情并非像他们看起来那样。 实际上你要打的网址是 https://api.swiftype.com/api/v1/public/engines/search.json因为加载的网页会在此网址上发出json请求。 在那个网址中你必须发布以下json
$search = array("engine_key"=>"naxCjQ58frTkB_diETvu","page"=>1,"q"=>"kardas","per_page"=>12,"sort_direction"=>"","filters"=>array("page"=>array("category"=>"News")),"facets"=>array("page"=>array("0"=>"tag")));
快速指南:
一个有效的代码示例
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_URL,"https://api.swiftype.com/api/v1/public/engines/search.json");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($search));
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($ch,CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
并检查结果
print_r(json_decode($data));
这件事很美,就像他们给你一个API板块......