PHP解析器,带按钮“显示更多”

时间:2014-07-26 11:07:21

标签: php html html-parsing

我试图通过file_get_contents();解析来自网站的链接,但问题是我理解的一些元素是在点击按钮Show more 20之后由ajax加载的,例如,如果我得到HTML内容(Ctrl + U [chrome]),我只有20条记录,点击按钮后我得到了20条记录,但它是真的可以通过PHP获取所有内容吗?或者也许有其他方法可以做到这一点?

我认为通过JavaScript可以做到这一点,但它错误地导致我使用file_get_content();默认/标准代码。

以下是一个示例:http://msk.gorko.ru/%D1%82%D0%B0%D0%BC%D0%B0%D0%B4%D0%B0/ 在页面的末尾,有按钮"Показать еще 20 ведущих"

1 个答案:

答案 0 :(得分:1)

隐藏在#user_ids中的所有用户ID,首先得到它,如果你使用" simplehtmldom",它将是这样的:

$html = file_get_html('http://msk.gorko.ru/%D1%82%D0%B0%D0%BC%D0%B0%D0%B4%D0%B0/');
$ids = $html->find('#user_ids', 0)->value;
$request = array(
   'http' => array(
     'method' => 'POST',
     'content' => http_build_query(array(
         'ids' => $ids,
         'role_id' => '7',
         'noportfolio' => '0',
         'BITRIX_SECURITY_KEY' => **TAKE FROM COOKIE**
      )),
   )
);

$context = stream_context_create($request);

$json = file_get_html('http://msk.gorko.ru/services/more/', false, $context);

仅替换 ** TAKE FROM COOKIE **