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

JavaScript013

用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即可。

pcntl_fork或者swoole_process实现多进程并发。按照每个网页抓取耗时500ms,开200个进程,可以实现每秒400个页面的抓取。

curl实现页面抓取,设置cookie可以实现模拟登录

simple_html_dom 实现页面的解析和DOM处理

如果想要模拟浏览器,可以使用casperJS。用swoole扩展封装一个服务接口给PHP层调用

在这里有一套爬虫系统就是基于上述技术方案实现的,每天会抓取几千万个页面。

按格式序列成字符串...然后放到hidden里提交给服务器

或者ajax~

必须有办法序列成字符串.... 如果用js框架的话..可以尝试某些框架序列成json的函数

然后在php上可以用json_decode解析数据