通过

我们知道了什么是爬虫

也知道了爬虫的具体流程

那么在我们要对某个网站进行爬取的时候

要对其数据进行分析

就要知道应该怎么请求

就要知道获取的数据是什么样的

所以我们要学会怎么抓咪咪!

哦,不对。

我们要学会怎么数据抓包

虽然小馒头也是包的一种

ok...anyway...

打开我们的 Chrome 浏览器

在这里 小帅b 提醒大家一句

尽量不要用国产浏览器

很多是有后门的

所以

Chrome 是首选!

ok,打开 Chrome 浏览器之后呢

我们随便输入一个网址吧

比如

www.pornhub.com

营养跟不上?那就...

输入一个人人都能上的网站

www.baidu.com

用力回车

一个熟悉的页面显示在你的面前

这个时候,你按下 F12

你可以看到弹出一个有点装逼的窗口

这个玩意

正是我们想要的

可以看到

Element 标签下对应的 HTML 代码

其实就是这个网页的代码

我们可以在这里除了看看它的代码之外

我们还可以修改一些东西

比如我把这个按钮改成小帅b

按下回车

是不是瞬间逼格满满

哦,不好意思

今天不是要说怎么装逼的

我们点击 Network 这个标签

然后刷新一下

可以看到有很多的请求

HTTP 的请求方式有好几种

GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE

不过最常见的就是 GET 和 POST 请求

咱们就一一说道说道

接下来就是

我们直接搜索「苍老师」

然后我们就可以发现

有好多请求

这些都是 GET 请求

我们随便点击一个请求进去

可以看到我们的请求URL

https://www.baidu.com/s?wd=%E8%8B%8D%E8%80%81%E5%B8%88&rsv_spt=1&rsv_iqid=0xad707ee600011b25&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=%25E8%258B%258D%25E8%2580%2581%25E5%25B8%2588&rsv_t=5d8eqNDy4ZpyUOz7ByzyIMYfH5Jc7861dr4CFQaY3WCiDnOpBLob6Eouk23%2F3L%2BTD46O&rsv_sug3=15&rsv_pq=996e776f0000df06&rsv_sug4=19123

在 ?后面的这些 jb 玩意儿

就是 GET 请求的参数

这些参数以「键值对」的形式实现

比如这里的

wd=%E8%8B%8D%E8%80%81%E5%B8%88

就是告诉百度

我们要查询的是苍老师相关的内容

这种方式的请求方式是最简单的

所以以后我们在 Python 写 GET 请求的时候

直接在 URL 后面加个 ?然后添加参数值就好了

比如

我要百度搜索波多野结衣

那么就是

https://www.baidu.com/s?wd=波多野结衣

不信你直接在浏览器这样搜

是一毛一样的

那么,啥是 POST 请求呢?

我们在做一些信息提交的时候

比如注册,登录

这时候我们做的就是 POST 请求

POST 的参数不会直接放在 URL 上

会以 Form 表单的形式将数据提交给服务器

我们来登录一下百度

当我们点击登录的时候

就开始将我们的账号密码请求给百度服务器

可以看到我们请求了 login 这个接口

请求方法就是 POST

而我们的请求参数是以 Form 表单的方式提交的

拉到下面就可以看到

username 就是 xiaoshuaib

而密码,就是被加密了的

这些都是 POST 参数

可以发现

GET请求把请求参数都暴露在URL上

而POST请求的参数放在request body 里面

POST请求方式还对密码参数加了密

这样就相对安全一些

ok

你已经了解请求方式了

接下来说说请求头

当然说的不是上面这个 gou 头哈

我们刚刚在访问百度的时候

可以看到这个玩意

这个就是请求头

Request Header

我们在做 HTTP 请求的时候

除了提交一些参数之外

我们还有定义一些 HTTP 请求的头部信息

比如 Accept、Host、cookie、User-Agent等等

这些参数也是我们在做爬虫要用到

通过这些信息,欺骗服务器,告诉它我们是正规请求

比如

我们可以在代码里面设置 cookie 告诉服务器我们就是在这个浏览器请求的会话

User-Agent 告诉服务器我们是浏览器请求的

说完我们这边的请求了

接着我们再说说服务器的响应

你一定遇到过 404 页面吧

或者服务器错误返回个 502 吧

这些 404 啊,200啊,301啊,502啊

都是服务器的响应码

一般服务器给我们返回 200

那就说明

我们成功请求了

再来说说响应头

当我们请求成功之后

服务器会给我们返回响应码之外

还有响应头

这个头主要是告诉我们数据以什么样的形式展现

告诉我们cookie的设置

还有一个

就是响应体了

说白了,就是服务器返回给我们的数据

我们点击 Response 就可以看到相关的数据了

看,这些就是服务器返回给我们的 HTML 源代码

对于不同的请求

我们获取到的数据是不一样的

除了 HTML的,也有 JSON 的

图片二进制数据等等

可以针对不同的情况

用不同的手段来解析这些数据

说到这里

想必你已经会在 Chrome 抓包了

所谓抓包

就是我们摸清了浏览器里面的套路

知道它是怎么搞的

那么通过我们的请求

GET 请求也好

POST 请求也罢

只要知道请求方式

只要知道请求参数

只要知道请求头定义

只要知道怎么拿到返回的数据

这..

对我们来说

爬虫还难么?

完了!

爽吗?

那还不把这个公众号设置为「星标」?

那还不转发?

那还不点好看?

那就赶紧扫一扫

加入pythonner的聚集地

我们一起从装逼到牛逼

近期文章

python网页抓包_python爬虫入门01:教你在 Chrome 浏览器轻松抓包相关推荐

  1. Python入门01:如何在 Chrome 浏览器轻松抓包

    python入门01:教你在 Chrome 浏览器轻松抓包 通过上一节我们知道了什么是爬虫,也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候,要对其数据进行分析 就要知道应该 怎么请求,就 ...

  2. python自动抓包手机_Python爬虫入门:教你通过Fiddler进行手机抓包!

    哟哟哟~ hi起来 everybody Python爬虫入门:教你通过Fiddler进行手机抓包! 今天要说说怎么在我们的手机抓包 进群:700341555获取Python爬虫入门学习资料! Pyth ...

  3. python谷歌网页爬虫_python爬虫入门01:教你在 Chrome 浏览器轻松抓包

    通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...

  4. 浏览器里面看到的表单数据映射到python_python爬虫入门01:教你在 Chrome 浏览器轻松抓包...

    通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...

  5. python爬虫入门之http协议和 Chrome 浏览器抓包工具

    在浏览器中发送一个http请求的过程: 1.当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求.HTTP请求主要分为"Get"和&quo ...

  6. 手机应用url抓取_Python爬虫入门,快速抓取大规模数据(第六部分)

    在前面的章节中,我们以尽量少的代码演示了爬虫的基本原理.如果只是需要抓取一些简单的数据,那么我们修改一下前面的代码就可以完成任务了.但是当我们需要完成一些复杂的大型抓取任务时,我们就需要考虑更多东西, ...

  7. python爬取网页数据软件_python爬虫入门10分钟爬取一个网站

    一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...

  8. python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)

    前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...

  9. python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取

    写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下 ...

最新文章

  1. 企业融入租时代 谋求轻资产化高效运营
  2. 网络环境下计算机取证的见解,2018年华医网初级继续教育答案解析
  3. 关于Hibernate中的Configuration
  4. [摘]一张图 , oracle merge用法:
  5. shopee本土店怎么做,一些运营技巧分享
  6. 5y计算机应用基础题库,数学log练习题和答案.doc
  7. mysqldumper 与 Innobackupex的备份和恢复操作实验过程
  8. 垃圾回收机制之标记压缩算法与分代算法
  9. ubuntu下 windows的zip文件打开,中文目录和文件名乱码
  10. mysql中profile的使用
  11. 数据结构 c语言 试卷,数据结构(C语言)试卷(1)
  12. Connection reset by 20.205.243.166 port 22fatal: Could not read from remote repository.Please mak
  13. 十余省份高速人工通道实现支付宝收费 与ETC互为补充
  14. 论文阅读《Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection》
  15. 【VMware】下安装OSX10.10-Yosemite【Mac】系统
  16. 数组转化为集合的方式asList()
  17. Google Filament 源码学习(六):Material System (五) - 材质系统框架
  18. 设计模式--reactor 模式
  19. Visual Studio 2017、2019 无法启动的解决方法
  20. ubuntu物理机用virtualbox安装win7进行单片机实验

热门文章

  1. 空间规划用地分类工具
  2. 模块连接图MATLAB,Simulink 模块图
  3. 第38、39周收录252起融资,国内大鱼吃小鱼,国外印尼共享经济资本热度高 | 潜在周报
  4. java:用HSSFWorkbook实现excel导出
  5. 2019年天猫度软件服务年费缴纳折扣优惠及结算标准
  6. Linux 子进程pgd处理
  7. 能推荐一些好用的文字转语音软件吗?
  8. DPtech 异常流量清洗技术白皮书
  9. 探索Robotiq夹爪|3-Finger仿真数据
  10. 【TensorRT】TensorRT was linked against cuBLAS/cuBLAS LT 11.3.0 but loaded cuBLAS/cuBLAS LT 11.2.1