‘壹’ 页面是js动态生成的,用php如何抓取生成后的页面
除非内置浏览器引擎,不然不可能拿到渲染后的页面,而且PHP也不适合做这种工作
‘贰’ php怎么获取js数据
可以通过jq的$.ajax();$.get();$.post();进行数据的异步传输
参考:http://www.jb51.net/article/43194.htm
‘叁’ php正则提取JS里面的数据如何写
a=preg_match('/var commentid="(\d+)"/',$text)
echo a.group(1)
‘肆’ PHP+JS 怎么抓取别人页面的js数据
js不行,抓取js显示的数据必须要支持ajax采集的采集器,我在网上找了一个你看看行不行,我摘抄一段,详细的你自己去网站上看吧:
浏览器能看到的数据可轻松采集,尤其擅长采集Js脚本输出、Ajax动态加载、点击后显示的、超大超长列表、隐藏、iframe框架等难度较大数据
单个任务每天可采集30万页面,可按照客户要求进一步提高或者降低采集速度,保障以最快的速度完成数据的采集工作。
各种类型的web站点均在采集范围之内,新闻,论坛,博客,生活服务类,电子商务网站,行业网站,门户网站,微博等等,只要是浏览器能浏览的站点全部能够采集。
可以突破防采集措施,如登陆采集,验证码采集等技术难题,可对目标网站进行7*24实时监控,自动化发现并采集新增数据。
网址我不发了,你网络 数据农场 就有了
‘伍’ php如何采集js生成的内容
访问需要采集的页面,如果数据是用js输出的html,那么必定有接口或者本身页面中给js提供了数据,来遍历输出html。
用chrome的审查元素中的network,可以单独看xhr,看看是否是ajax请求的接口,如果数据是从接口来的,直接用PHP去获取那个接口的数据就可以了。
如果没有ajax请求,查看html源代码,在里面找数据。
‘陆’ 用php 怎么抓取js+ajax动态生成的页面内容
第一步,查看网页源代码,找到ajax请求的URL。
比如,js代码为:
$.ajax({
url: 'ajax.php?id=100',
data: {ad_num:num,ad_str:str,cart_update_time:cart_update_time},
type: 'POST',
dataType: 'text',
async : false,
success: function(data){
}
其中的ajax.php?id=100就是ajax请求的URL。
第二步,拼接URL,用网站的域名加上这个找到的请求路径。
比如,网站域名为: www.abc.com 拼接后的URL为:www.abc.com/ajax.php?id=100
第三步,用PHP读取第二步拼接出的URL即可。
‘柒’ PHP如何调用JS函数并获取其返回的数据
人家问的是PHP调用JS函数。。。楼主,我可以很负责的告诉你,这是不可能的。PHP是在
服务器端
运行的脚本,而JS是在浏览器运行的脚本,你要调用可以,直接echo个script就可以,但是获取
返回值
是不可能的,只有让JS把返回值通过AJAX发送给PHP才可以。
‘捌’ 怎样在php中得到js的值
PHP中并不能直接获得JS的值,因为一个运行在客户端,一个运行在服务器端。如果需要这两个语言进行交流,可以这么做:
对于JS向PHP传递,可使用cookie,查询字符串(get),post
对于PHP向JS传递可以直接将值输出到JS的变量值处;或者将值输出给隐藏的input元素,然后从dom获取;或者利用ajax获取
‘玖’ php怎么获取javascript里的值
我觉得应该用正则,因为$pos现在定义的是字符串类型,所以用正则求document.write()括号里面的值
<?php
$pos= "document.write(2012);";
preg_match('/document\.write\((.*?)\);/',$pos,$matches);
echo $matches[1];
?>
结果是 2012
‘拾’ php怎么获取当前页面 javascript的变量值
可以使用ajax技术实现动态提交和返回,不用刷新页面的所有内容。基本代码如下,可以酌情参考和修改:
function showDate()
{
var xmlhttp;
var d = new Date();
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdate.php?q="+d,true);
xmlhttp.send();
}