【发布时间】:2019-11-02 03:50:54
【问题描述】:
我要为我的舞台解析一个网站,问题是网站在几秒钟后加载动态内容,所以解析只得到第一个信息,找不到我需要的信息。
当我加载网站时,它会加载所有课程,并在 2-3 秒后应用过滤器(语言 = 法语)并重新加载页面以显示法语课程。 我使用的解析器(简单的 html dom)解析所有课程,而不是重新加载的页面, 我该如何解析加载了过滤器的“最终”页面?
我基本上已经尝试在我的代码上设置一个 sleep(5) 但没有任何改变 此代码有效,但它解析所有课程,而不是应用过滤器的课程。
<?php
require_once('simple_html_dom.php');
$html = file_get_html('https://www.coursera.org/courses?query=indices%5Bprod_all_products_custom_ranking_revenuelast28d%5D%5BrefinementList%5D%5Blanguage%5D%5B0%5D=French&indices%5Bprod_all_products_custom_ranking_revenuelast28d%5D%5Bpage%5D=1&indices%5Bprod_all_products_custom_ranking_revenuelast28d%5D%5Bconfigure%5D%5BclickAnalytics%5D=true&indices%5Bprod_all_products_custom_ranking_revenuelast28d%5D%5Bconfigure%5D%5BhitsPerPage%5D=10&configure%5BclickAnalytics%5D=true&page=1');
sleep(10);
foreach($html->find('div.card-info') as $e)
echo $e->outertext . '<br>';
?>
【问题讨论】:
标签: javascript php html parsing