讲师回答 / Peter
只能够单独抓取,这个是硬伤。比如页面当中的数据如果是通过Ajax来动态获取的话,curl也是无法拿到这些动态数据的。这两点应该说是curl的使用限制。对于你这个情况,如果能够知道这个frame的url,那么直接抓取它也许就能够帮助你解决这个问题了。如果完整数据是合并起来的,也就是一部分数据在当前页面,一部分在frame里面。那么就只能先抓取当前页面,然后解析当前页面的html,找到这个frame的src,然后再次抓取这个frame的page,最后把两个页面的数据合并起来。
2014-08-17
讲师回答 / Peter
后面加/user/login是因为这个地址是登录的地址,我们发送登录请求是发送到这个地址的。POST数据只能通过读取网页中附带的JS代码得到,因为已经超出本课程的范围,所以没有展开。
2014-08-09
讲师回答 / Peter
一次只能下载一个文件,但是可以通过代码的方式下载一整个目录,带上发送下载指令还是一个文件一个文件下的。比如,我们知道有一个目录,里面有N个文件,那么用PHP可以写一个循环把这N个文件下载下来。
2014-08-09
讲师回答 / Peter
您指的是哪些数据呢?只要下载下来的网页看到了必须登录才能看到的数据,那么可以肯定登录下载都是正确的。如果有一些数据没有下载到,可以看看是什么数据。实质上我们下载的是html的代码,但是如果有一些数据是通过JS动态载入的,那么curl对于这些动态载入的资源是无法下载到的。
2014-08-09