爬虫入门基础-Firefox数据抓包

python (1.8万) 2020-05-12 14:42:23

我们知道了什么是爬虫,也知道了爬虫的具体流程。那么在我们要对某个网站进行爬取的时候要对其数据进行分析,就要知道应该怎么请求就要知道获取的数据是什么样的,我们要学会怎么数据抓包。 打开我们的 firfox浏览器 (使用developer版本 https://www.mozilla.org/zh-CN/firefox/developer/),www.16yun.cn/help/ 用力回车,这个时候,进入开发者模式。 可以看到 查看器 标签下对应的 HTML 代码其实就是这个网页的代码爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第1张

我们点击 网络 这个标签,然后刷新一下,可以看到有很多的请求。爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第2张

HTTP 的请求方式有好几种GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE 不过最常见的就是 GET 和 POST 请求 我们直接搜索 curl 然后我们就可以发现,有好多请求。爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第3张

这些都是 GET 请求,我们随便点击一个请求进去。爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第4张

可以看到我们的请求URL https://da.qidian.qq.com/ping/pv?v=0.7.7&tid=2852159957&aid=&pid=pmiv88.r7hk8g.k9jadf6j&qid=u4wwzq.mg3d1l.k9ja8lwt&src=11&cid=925788040378091&sid=1.1.4s7tel.k9ja8m1r&r=https%3A%2F%2Fwww.16yun.cn%2Fhelp%2F&pt=curl%E7%A4%BA%E4%BE%8B+-+%E4%BA%BF%E7%89%9B%E4%BA%91&sw=1080&sh=1920&dpr=1&saw=1080&sah=1920&scd=24&so=landscape-primary&bw=1065&bh=594&tz=-8&hasf=32.0.0&hasadb=1&hasc=1&hastc=0&hasls=1&hasss=1&hasid=1&t=k9jadf98&z=jbk3ea 在 ?后面的就是 GET 请求的参数,这些参数以「键值对」的形式实现,比如这里的 v=0.7.7 就是告诉网站,需要请求版本0.77,这种方式的请求方式是最简单的,所以以后我们在 Python 写 GET 请求的时候。直接在 URL 后面加个 ?然后添加参数值就好了。 那么,啥是 POST 请求呢?我们在做一些信息提交的时候 比如注册,登录这时候我们做的就是 POST 请求,POST 的参数不会直接放在 URL 上,会以 Form 表单的形式将数据提交给服务器。 我们来登录一下ip.16yun.cn:817爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第5张

当我们点击登录的时候,就开始将我们的账号密码请求给务器,可以看到我们请求了 登录 这个接口,请求方法就是 POST。爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第6张

而我们的请求参数是以 Form 表单的方式提交的爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第7张

拉到下面就可以看到 username 就是 test password 就是 test 这些都是 POST 参数 可以发现,GET请求把请求参数都暴露在URL上,而POST请求的参数放在request body 里面爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第8张

这个就是请求头,Request Header,我们在做 HTTP 请求的时候,除了提交一些参数之外,我们还有定义一些 HTTP 请求的头部信息,比如 Accept、Host、cookie、User-Agent等等,这些参数也是我们在做爬虫要用到 ,通过这些信息,欺骗服务器,告诉它我们是正规请求。 比如,我们可以在代码里面设置 cookie 告诉服务器我们就是在这个浏览器请求的会话,User-Agent 告诉服务器我们是浏览器请求的,说完我们这边的请求了. 接着我们再说说服务器的响应 你一定遇到过 404 页面吧,或者服务器错误返回个 502 ,这些 404 ,200,301,502 都是服务器的响应码,一般服务器给我们返回 200,那就说明,我们成功请求了。 再来说说响应头,当我们请求成功之后,服务器会给我们返回响应码之外,还有响应头,这个头主要是告诉我们数据以什么样的形式展现,告诉我们cookie的设置,还有一个,就是响应体了。 说白了,就是服务器返回给我们的数据,我们点击 Response 就可以看到相关的数据了爬虫入门基础-Firefox数据抓包 (https://www.tiejiang.org/) python 第9张

看,这些就是服务器返回给我们的 HTML 源代码,对于不同的请求,我们获取到的数据是不一样的,除了 HTML的,也有 JSON 的,图片二进制数据等等,可以针对不同的情况,用不同的手段来解析这些数据 说到这里,想必你已经会在 Firefox 抓包了,所谓抓包,就是我们摸清了浏览器里面的套路,知道它是怎么搞,那么通过我们的请求,GET 请求也好,POST 请求也罢,只要知道请求方式,只要知道请求参数,只要知道请求头定义,只要知道怎么拿到返回的数据。

THE END

发表评论