我的问题是:如何从该网站http://vtis.vn/index.aspx抓取数据,但是直到您单击例如“ Danhsáchchậm”,该数据才显示。我已经非常认真地尝试,当您单击“ Danhsáchchậm”时,这是onclick事件,它触发了一些javascript函数js函数之一是从服务器获取数据并将其插入到标签/占位符中,并在这时,您可以使用firefox之类的方法检查数据,是的,数据会在网页上显示给用户/查看者。因此,我们又该如何以编程方式废弃此数据?我编写了一个抓取函数,但是它当然无法获取我想要的数据,因为只有在单击“ Danhsáchchậm”按钮之后,该数据才可用 <?php $Page = file_get_contents('http://vtis.vn/index.aspx'); $dom_document = new DOMDocument(); $dom_document->loadHTML($Page); $dom_xpath_admin = new DOMXpath($dom_document_admin); $elements = $dom_xpath->query("*//td[@class='IconMenuColumn']"); // foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { echo (mb_convert_encoding($node->c14n(), 'iso-8859-1', mb_detect_encoding($content, 'UTF-8', true))); } } }谢谢您,StackOverflow是个好地方。D.
2 回答

繁星coding
TA贡献1797条经验 获得超4个赞
您需要查看PhantomJS。
从他们的网站:
PhantomJS是带有JavaScript API的无头WebKit。它具有对各种Web标准的快速本机支持:DOM处理,CSS选择器,JSON,Canvas和SVG。
使用API,您可以编写脚本来使“浏览器”与该页面进行交互并抓取所需的数据。然后,您可以使用它来做所需的任何事情。包括在必要时将其传递给PHP脚本。
话虽这么说,如果可能的话,尽量不要“刮”数据。如果页面正在进行ajax调用,也许有可以替代的API?如果没有,也许您可以说服他们做一个。当然,这比屏幕抓取要容易得多,并且更易于维护。
添加回答
举报
0/150
提交
取消