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

JavaScript023

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

第一步,查看网页源代码,找到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即可。

访问需要采集的页面,如果数据是用js输出的html,那么必定有接口或者本身页面中给js提供了数据,来遍历输出html。

用chrome的审查元素中的network,可以单独看xhr,看看是否是ajax请求的接口,如果数据是从接口来的,直接用PHP去获取那个接口的数据就可以了。

如果没有ajax请求,查看html源代码,在里面找数据。