2016-03-04 84 views
0

我想使用file_get_contents解析网页。对于方法后,我可以解析哪些是列表中的第一页。在此之后,页面内容通过分页列出。PHP使用GET请求在分页页面上使用file_get_contents解析网页

如何用GET请求解析分页页面的内容?

例如:http://sample.com/results?page=3

代码:

$data = array(
     'page' => 1 
     ); 

    $opts = array(
     'http'=>array(
     'method'=> 'GET', 
     'headers' => $http_response_header, 
     'content' => http_build_query($data), 
     'timeout' => 100 
     ) 

    ); 

    $context = stream_context_create($opts); 

    $listfile1 = file_get_contents("http://sample.com/results?",false, $context); 

我得到0记录分页的页面。

+0

我会推荐使用cURL来代替更复杂的URL解析示例,就像你的。 – divix

+0

@divix谢谢。 我曾经用cURL试过,结果也一样。 file_get_contents在循环内执行。是否需要在每个循环后关闭任何流或会话? 这是因为如果我尝试使用URL [链接](http://sample.com/results?page=2),首先在循环中返回解析的第二个页面,该页面是正确的,然后是空的。 – Gins

+0

确保传递了所有必需的标题(如果有的话)。 – divix

回答

0

我能够使用上面列出的相同功能,有一个自定义函数定义了打破分页。

但我也改变了网址。

 $listfile1 = file_get_contents("sample.com/results?page=".$number,false, $context);