时间:2021-07-01 10:21:17 帮助过:41人阅读
输出结果echo $content;?>
推广的内容是页面加载后再调用js二次请求获取,写入页面的。所以用curl只能获取到html有的东西。
而js加载的,你需要再用curl去获取它js获取的url得到。
推广的内容是页面加载后再调用js二次请求获取,写入页面的。所以用curl只能获取到html有的东西。
而js加载的,你需要再用curl去获取它js获取的url得到。
你的user-agent没有模拟好,所以不行。
其实根本不需要用post,直接用get就可以了。
修改如下:
$url = "http://www.baidu.com/s?wd=生命动力";$header = array ( 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36');$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );// 执行$content = curl_exec ( $ch );if ($content == FALSE) { echo "error:" . curl_error ( $ch );}// 关闭curl_close ( $ch ); //输出结果echo $content;
你的user-agent没有模拟好,所以不行。
其实根本不需要用post,直接用get就可以了。
修改如下:
$url = "http://www.baidu.com/s?wd=生命动力";$header = array ( 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36');$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );// 执行$content = curl_exec ( $ch );if ($content == FALSE) { echo "error:" . curl_error ( $ch );}// 关闭curl_close ( $ch ); //输出结果echo $content;
这个你需要看看页面有没什么隐藏参数,通常那些会影响的。
例如js也会的。而且这算是另一个问题,应该开新贴讨论。