为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中的数据传输神器cURL

难度中级
时长53分
学习人数
综合评分9.47
100人评价 查看评价
9.7 内容实用
9.5 简洁易懂
9.2 逻辑清晰

讲师回答 / Peter
一般来说curl下载下来的内容关注的是数据,而html的解析放到浏览器里面对齐很有可能是不同的,因为css也会影响页面布局,不同的浏览器也会有不同。但是,显示在页面上面的数据应该是没问题的。

讲师回答 / Peter
只能够单独抓取,这个是硬伤。比如页面当中的数据如果是通过Ajax来动态获取的话,curl也是无法拿到这些动态数据的。这两点应该说是curl的使用限制。对于你这个情况,如果能够知道这个frame的url,那么直接抓取它也许就能够帮助你解决这个问题了。如果完整数据是合并起来的,也就是一部分数据在当前页面,一部分在frame里面。那么就只能先抓取当前页面,然后解析当前页面的html,找到这个frame的src,然后再次抓取这个frame的page,最后把两个页面的数据合并起来。

讲师回答 / Peter
这个得看你要对接的接口的定义了,技术的话就是CURL的。需要根据接口的定义构建CURL请求。

讲师回答 / Peter
简单说就是以web方式提供的在线服务,详细的解释可以百度

讲师回答 / Peter
这个表示php还没有安装,请参考:http://php.net/manual/zh/install.windows.php

讲师回答 / Peter
后面加/user/login是因为这个地址是登录的地址,我们发送登录请求是发送到这个地址的。POST数据只能通过读取网页中附带的JS代码得到,因为已经超出本课程的范围,所以没有展开。

讲师回答 / Peter
一次只能下载一个文件,但是可以通过代码的方式下载一整个目录,带上发送下载指令还是一个文件一个文件下的。比如,我们知道有一个目录,里面有N个文件,那么用PHP可以写一个循环把这N个文件下载下来。

讲师回答 / Peter
您指的是哪些数据呢?只要下载下来的网页看到了必须登录才能看到的数据,那么可以肯定登录下载都是正确的。如果有一些数据没有下载到,可以看看是什么数据。实质上我们下载的是html的代码,但是如果有一些数据是通过JS动态载入的,那么curl对于这些动态载入的资源是无法下载到的。

讲师回答 / Peter
可以贴一下你的php代码吗?暂时无法判断是什么问题。

已采纳回答 / Peter
爬虫的的目的就在于可以通过一定的方式把目标网站里面的数据都抓取下来,然后想怎么用都行。 对于一个网站来说,很多数据是有数据权限控制的,也就是需要登录或者甚至授权的方式才能够访问到这些敏感数据。因此,从外部(也就是我们的爬虫程序)来说,最直接的方式就是模拟已经有权限的用户去登录系统,然后访问这些敏感数。 我们常说,人的安全是最难控制的,家贼难防这个道理也是一样的。我们的爬虫就假装是一个正常的用户去访问网站,然后顺便把所有感兴趣的数据都抓取下来。这就是爬虫的核心思想。 当然,也可以没有账号密码,你把自己修炼称...

讲师回答 / Peter
我的印象中,每一行代码为什么这么写都已经在课程中进行了说明。唯一没有展开说的是post的参数是怎么获取的,这个要说清楚就是http协议相关的内容了,并非CURL的课程内容,因此没有展开。 如果同学觉得老师哪里说的不清楚,请指出,我也好单独给出一个回答。这样,其他的同学也可以得到解惑。 谢谢同学的批评。
课程须知
本课程是PHP中级课程 1、熟练掌握PHP开发语言基础语法
老师告诉你能学到什么?
1、cURL的基本概念 2、cURL的使用场景 3、PHP中使用cURL 4、使用cURL实现网页爬虫、访问WebService、FTP文件操作和HTTPS资源访问

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消