爬虫入门基础-Firefox数据抓包
我们知道了什么是爬虫,也知道了爬虫的具体流程。那么在我们要对某个网站进行爬取的时候要对其数据进行分析,就要知道应该怎么请求就要知道获取的数据是什么样的,我们要学会怎么数据抓包。 打开我们的 firfox浏览器 (使用developer版本 https://www.mozilla.org/zh-CN/firefox/developer/),www.16yun.cn/help/ 用力回车,这个时候,进入开发者模式。 可以看到 查看器 标签下对应的 HTML 代码其实就是这个网页的代码
我们点击 网络 这个标签,然后刷新一下,可以看到有很多的请求。
HTTP 的请求方式有好几种GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE 不过最常见的就是 GET 和 POST 请求 我们直接搜索 curl 然后我们就可以发现,有好多请求。
这些都是 GET 请求,我们随便点击一个请求进去。
可以看到我们的请求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
当我们点击登录的时候,就开始将我们的账号密码请求给务器,可以看到我们请求了 登录 这个接口,请求方法就是 POST。
而我们的请求参数是以 Form 表单的方式提交的
拉到下面就可以看到 username 就是 test password 就是 test 这些都是 POST 参数 可以发现,GET请求把请求参数都暴露在URL上,而POST请求的参数放在request body 里面
这个就是请求头,Request Header,我们在做 HTTP 请求的时候,除了提交一些参数之外,我们还有定义一些 HTTP 请求的头部信息,比如 Accept、Host、cookie、User-Agent等等,这些参数也是我们在做爬虫要用到 ,通过这些信息,欺骗服务器,告诉它我们是正规请求。 比如,我们可以在代码里面设置 cookie 告诉服务器我们就是在这个浏览器请求的会话,User-Agent 告诉服务器我们是浏览器请求的,说完我们这边的请求了. 接着我们再说说服务器的响应 你一定遇到过 404 页面吧,或者服务器错误返回个 502 ,这些 404 ,200,301,502 都是服务器的响应码,一般服务器给我们返回 200,那就说明,我们成功请求了。 再来说说响应头,当我们请求成功之后,服务器会给我们返回响应码之外,还有响应头,这个头主要是告诉我们数据以什么样的形式展现,告诉我们cookie的设置,还有一个,就是响应体了。 说白了,就是服务器返回给我们的数据,我们点击 Response 就可以看到相关的数据了
看,这些就是服务器返回给我们的 HTML 源代码,对于不同的请求,我们获取到的数据是不一样的,除了 HTML的,也有 JSON 的,图片二进制数据等等,可以针对不同的情况,用不同的手段来解析这些数据 说到这里,想必你已经会在 Firefox 抓包了,所谓抓包,就是我们摸清了浏览器里面的套路,知道它是怎么搞,那么通过我们的请求,GET 请求也好,POST 请求也罢,只要知道请求方式,只要知道请求参数,只要知道请求头定义,只要知道怎么拿到返回的数据。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53619.html
FireFoxpython相关文章
- 第一次爬虫尝试
- Python 爬虫 NO.4 HTTP 响应状态码
- 【Python】 "爬虫"出发前的装备之一正则表达式
- 爬虫python入门_python之路pdf
- python分组聚合_python爬虫标签
- 通过爬虫爬取一些图片
- 盘点Python网络爬虫过程中xpath的联合查询定位一个案例
- Python爬虫基础
- 【k哥爬虫普法】Python程序员爬取视频资源13万部,一分钱没挣,获刑2年!
- 前端开发爬虫首选puppeteer
- 爬虫+反爬虫+js代码混淆
- 爬虫技术浅析
- 爬虫为什么需要Redis(爬虫需要redis吗)
- 利用Redis实现高效增量爬虫(利用redis做增量爬取)
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
- 零基础写python爬虫之urllib2使用指南
- 零基础写python爬虫之打包生成exe文件
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- 零基础写Java知乎爬虫之先拿百度首页练练手
- apache禁止搜索引擎收录、网络爬虫采集的配置方法