Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在服务器上解析Javascript_Php_Javascript_Curl - Fatal编程技术网

Php 在服务器上解析Javascript

Php 在服务器上解析Javascript,php,javascript,curl,Php,Javascript,Curl,我试图创建一个基本的网络爬虫,专门从广告中寻找链接 我已经找到了一个使用cURL获取目标网页内容的脚本 我还发现了一个使用DOM的 <?php $ch = curl_init("http://www.nbcnews.com"); $fp = fopen("source_code.txt", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0);

我试图创建一个基本的网络爬虫,专门从广告中寻找链接

我已经找到了一个使用cURL获取目标网页内容的脚本

我还发现了一个使用DOM的

<?php
    $ch = curl_init("http://www.nbcnews.com");
    $fp = fopen("source_code.txt", "w");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
?>

这些都很好,我当然觉得我的方向是正确的,除了有很多广告是用JS显示的,而且作为客户端,它显然没有被处理,我只看到JS代码,没有看到广告

基本上,在我开始提取链接之前,有没有办法让JS执行


谢谢

我不知道是否有用php编写的javascript引擎,但您可以使用phantomjs(一种无头可编程浏览器)实现您想要实现的目标。@KemalDağ您应该补充这一点作为答案。简短但正确。是否存在呈现java脚本服务器端的方法?php与否?抓取广告链接听起来像是使用自动服务来增加收入,这将违反所有广告服务的服务条款。换句话说,你不应该这样做。他们把它放在javascript中是有原因的:为了阻止你这么做。@developerwjk,我不确定是什么导致你做出这样的假设,但你大错特错了。你还会发现广告网络会过滤掉爬虫的链接点击。我更感兴趣的是找出谁在某些网站上做广告,以及广告的时间长短。