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

哦,不对。
我们要学会怎么数据抓包
虽然小馒头也是包的一种
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爬虫入门01:教你在 Chrome 浏览器轻松抓包的更多相关文章
- Python爬虫-02:HTTPS请求与响应,以及抓包工具Fiddler的使用
目录 1. HTTP和HTTPS 1.1. HTTP的请求和响应流程:打开一个网页的过程 1.2. URL 2. 客户端HTTP请求 3. Fiddler抓包工具的使用 3.1. 工作原理 3.2. ...
- Python爬虫入门教程 21-100 网易云课堂课程数据抓取
写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下 ...
- Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取
写在前面 从今天开始的几篇文章,我将就国内目前比较主流的一些在线学习平台数据进行抓取,如果时间充足的情况下,会对他们进行一些简单的分析,好了,平台大概有51CTO学院,CSDN学院,网易云课堂,慕课网 ...
- Python爬虫入门教程 18-100 煎蛋网XXOO图片抓取
写在前面 很高兴我这系列的文章写道第18篇了,今天写一个爬虫爱好者特别喜欢的网站煎蛋网http://jandan.net/ooxx,这个网站其实还是有点意思的,网站很多人写了N多的教程了,各种方式的都 ...
- Python爬虫入门教程 23-100 石家庄链家租房数据抓取
1. 写在前面 作为一个活跃在京津冀地区的开发者,要闲着没事就看看石家庄这个国际化大都市的一些数据,这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材. 我们需要爬取 ...
- python爬虫入门02:教你通过 Fiddler 进行手机抓包
哟~哟~哟~ hi起来 everybody 今天要说说怎么在我们的手机抓包 通过 python爬虫入门01:教你在Chrome浏览器轻松抓包 我们知道了 HTTP 的请求方式 以及在 Chrome 中 ...
- 转 Python爬虫入门三之Urllib库的基本使用
静觅 » Python爬虫入门三之Urllib库的基本使用 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器 ...
- 【爬虫入门01】我第一只由Reuests和BeautifulSoup4供养的Spider
[爬虫入门01]我第一只由Reuests和BeautifulSoup4供养的Spider 广东职业技术学院 欧浩源 1.引言 网络爬虫可以完成传统搜索引擎不能做的事情,利用爬虫程序在网络上取得数据 ...
- Python爬虫入门之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
随机推荐
- 安装 Spring 框架库
下载地址:http://repo.spring.io/release/org/springframework/spring
- Qt事件系统之五:事件过滤器和事件的发送
Qt提供了事件过滤器来实现在一个部件中监控其他多个部件的事件.事件过滤器与其他部件不同,它不是一个类,只是由两个函数组成的一种操作,用来完成一个部件对其他部件的事件的监视.这两个函数分别是 insta ...
- 2017 JUST Programming Contest 3.0 B. Linear Algebra Test
B. Linear Algebra Test time limit per test 3.0 s memory limit per test 256 MB input standard input o ...
- 尺取法 POJ 3601 Subsequence
题目传送门 /* 题意:求连续子序列的和不小于s的长度的最小值 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 1. 记录前i项的总和,求[i, p)长度的最小值,用二分找到sum[p] ...
- git 标签
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签. 比如说,我们想为我们的 runoob 项目发布一个"1.0"版本. 我们可以 ...
- 题解报告:hdu 1230 火星A+B(字符串)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1230 Problem Description 读入两个不超过25位的火星正整数A和B,计算A+B.需要 ...
- hdu 6011 Lotus and Characters 贪心
http://acm.hdu.edu.cn/showproblem.php?pid=6011 先把数字从小到大排好,比如是-6.3.4这样, 然后处理出后缀和,当后缀和 <= 0的时候马上停止就 ...
- 安装SNMP
http://songknight.blog.51cto.com/2599480/655337
- 一个net程序猿必备工具
自古以来,人类的进步都是依赖于工具的进步,从刀耕火种,到使用青铜器,再到现在的科技,每一次都使我们的工作效率提高了无数倍,所以一个好的工具能使我们提高无数倍的工作效率,下面,我就根据自己简单的总结一下 ...
- AJPFX详解jsp的九大内置对象和四大作用域
定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象(作用域) 客户端的请 ...