用php 怎么抓取js+ajax动态生成的页面内容
怎么抓取页面中采用<scriptsrc="a.js"></script>中a.js这个文件生成的页面内容呢?查看源代码也只能看到<scriptsrc="a.js"></s...
怎么抓取页面中采用<script src="a.js"></script> 中a.js这个文件生成的页面内容呢? 查看源代码也只能看到<script src="a.js"></script> ,却看不到a.js生成的html. 怎么能获取到这部分的html呢
展开
4个回答
展开全部
第一步,查看网页源代码,找到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代码为:
$.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即可。
展开全部
动态生成的内容是没法抓取的。
因为是动态内容靠javascript动态执行生成的,而php抓取到的只是javascript文本,并不能执行。
除非php提供一个javascipt的解释器,运行javascript脚本,那才有可能得到其动态结果。
因为是动态内容靠javascript动态执行生成的,而php抓取到的只是javascript文本,并不能执行。
除非php提供一个javascipt的解释器,运行javascript脚本,那才有可能得到其动态结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax 肯定会去访问一个URL 才能生成动态的页面内容的
你只要在js文件上找出这条 URL 再用 file_get_contents 或者 curl 来访问这个 URL 就可以获取相应的内容了
你只要在js文件上找出这条 URL 再用 file_get_contents 或者 curl 来访问这个 URL 就可以获取相应的内容了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把a.js内容读出来$str=file_get_contents("路径/a.js");
替换掉<script src="a.js"></script>
替换掉<script src="a.js"></script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询