讲师回答 / Peter
一般来说curl下载下来的内容关注的是数据,而html的解析放到浏览器里面对齐很有可能是不同的,因为css也会影响页面布局,不同的浏览器也会有不同。但是,显示在页面上面的数据应该是没问题的。
2014-08-29
讲师回答 / 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
已采纳回答 / Peter
爬虫的的目的就在于可以通过一定的方式把目标网站里面的数据都抓取下来,然后想怎么用都行。
对于一个网站来说,很多数据是有数据权限控制的,也就是需要登录或者甚至授权的方式才能够访问到这些敏感数据。因此,从外部(也就是我们的爬虫程序)来说,最直接的方式就是模拟已经有权限的用户去登录系统,然后访问这些敏感数。
我们常说,人的安全是最难控制的,家贼难防这个道理也是一样的。我们的爬虫就假装是一个正常的用户去访问网站,然后顺便把所有感兴趣的数据都抓取下来。这就是爬虫的核心思想。
当然,也可以没有账号密码,你把自己修炼称...
2014-07-22
讲师回答 / Peter
我的印象中,每一行代码为什么这么写都已经在课程中进行了说明。唯一没有展开说的是post的参数是怎么获取的,这个要说清楚就是http协议相关的内容了,并非CURL的课程内容,因此没有展开。
如果同学觉得老师哪里说的不清楚,请指出,我也好单独给出一个回答。这样,其他的同学也可以得到解惑。
谢谢同学的批评。
2014-07-22