用php 怎么抓取js+ajax动态生成的页面内容

用php 怎么抓取js+ajax动态生成的页面内容,第1张

第一步,查看网页源代码,找到ajax请求的URL。

比如,js代码为:

$ajax({

url: 'ajaxphpid=100',

data: {ad_num:num,ad_str:str,cart_update_time:cart_update_time},

type: 'POST',

dataType: 'text',

async : false,

success: function(data){

}

其中的ajaxphpid=100就是ajax请求的URL。

第二步,拼接URL,用网站的域名加上这个找到的请求路径。

比如,网站域名为: >

首先你先确定你是不是需要跨域去访问你的目标站点:aaacom(跨域指的是你当前所在的网址跟你input的网址是否同源,因为浏览器对跨域访问是有限制的,所以这点需要考虑。)

如果需要跨域,且aaa不允许跨域访问的话,这件事情只能在后端去做,否则可以在前端实现。

然后大概讲一下实现思路,不管是后端还是前端思路都差不多,首先你发起一个>

PHP是后台服务器语言,只会被动的等待客户端连接。

如果你想要获取执行JS后的代码,可以用ajax来实现。

写一个JS函数,获取所有的HTML代码,然后向服务器端发出异步请求,把代码发出去就是了。

方法和详细的 *** 作步骤如下:

1、第一步,创建一个测试php文件,见下图,转到下面的步骤。

2、第二步,执行完上面的 *** 作之后,在其中添加html所需的代码,见下图,转到下面的步骤。

3、第三步,执行完上面的 *** 作之后,要求在其中添加一个js脚本,定义一个变量,见下图,转到下面的步骤。

4、第四步,执行完上面的 *** 作之后,在底部的php中添加代码,该代码定义了默认为0的b变量,准备使用其来接收js中的a值,见下图,转到下面的步骤。

5、第五步,执行完上面的 *** 作之后,在脚本中使用writeln输出a,并将其分配给php中的变量b,

 然后回显输出以查看b中的值,见下图,转到下面的步骤。

6、第六步,执行完上面的 *** 作之后,在浏览器中打开php文件,将直接回显js中变量a的值为100。这时,php将js中的变量获取完成,见下图。这样,就解决了这个问题了。

建2个页面

1、testphp页面,代码如下:

<title></title>

<script src="jquery-142minjs" type="text/javascript"></script>

<script type="text/javascript">

$(function(){

x=100000;

y=1;

$("#dosubmit")click(function(){

var rand=parseInt(Mathrandom() (x - y ));

var rand1=StringfromCharCode(Mathfloor( Mathrandom() 26) + "a"charCodeAt(0));

var col="<input name=info["+rand1+rand+"] type='text' class='text' value='"+rand+"' />";

$("input[id=submit]")before(col);

})

$("#submit")click(function(){

$("form input[class=text]")each(function(){

var val=$(this)val();

})

})

})

</script>

<meta >

你好php是服务端脚本语言,js是浏览器端脚本语言,除非使用ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。

另:

你的代码分析如下:

<script>

var linka;

linka=windowlocationhref;

</script>

<php

$ch[0]="<script>documentwrite(linka);</script>";

echo $ch[0]"<br />";

<script>

到这步为止,php获得js的变量非常顺利

下面接着

<script>

var k;

k="<php echo $ch[0];>";

alert(k);

</script>

其实你的整个页面都是php的,执行

$ch[0]="<script>documentwrite(linka);</script>";

这一句的时候,php的$ch[0]仅仅只是被赋予了"<script>documentwrite(linka);</script>"这个字符串,js代码并没有运行php也并没有获得js的变量!获得的只是字符串而已

以上就是关于用php 怎么抓取js+ajax动态生成的页面内容全部的内容,包括:用php 怎么抓取js+ajax动态生成的页面内容、js和php获取的时间戳位数不一致问题、怎样用PHP或者js获取网页中某个部分的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10087987.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存