python爬虫入门01:教你在 Chrome 浏览器轻松抓包

通过

python爬虫入门:什么是爬虫,怎么玩爬虫?

我们知道了什么是爬虫

也知道了爬虫的具体流程

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

要对其数据进行分析

就要知道应该怎么请求

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

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

哦,不对。

我们要学会怎么数据抓包

 

虽然小馒头也是包的一种

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 请求

咱们就一一说道说道

接下来就是

学习 python 的正确姿势

 

 

 

我们直接搜索「苍老师

然后我们就可以发现

有好多请求

这些都是 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的正确姿势

原文地址:https://www.cnblogs.com/fxxkpython/p/fxxkpython.html

时间: 2024-08-23 07:56:29

python爬虫入门01:教你在 Chrome 浏览器轻松抓包的相关文章

[python爬虫] Selenium切换窗口句柄及调用Chrome浏览器

因为我的博客是根据我每个阶段自己做的事情而写的,所以前言可能有点跑题,但它更有利于让我回忆这个阶段自己的所作所为.这篇文章主要介绍Selenium爬虫获取当前窗口句柄.切换窗口句柄以及调用Chrome浏览器几个知识点,其中获取当前句柄的方法是非常重要的一个知识点,只有真正遇到的时候才能体会到它的强大.        最近课程比较多,写博客的内容也比较杂,包括网站搭建.HTML设计.计算机图形学.Python数据挖掘.Flash动画等.同时,这周也有老师让我帮忙写几个爬虫,自己进一步理解了爬虫的好

Python爬虫入门教程:博客园首页推荐博客排行的秘密

1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首页的推荐博客排行时,心里痒痒的,想想看看这些大佬究竟是写了什么文章这么受欢迎,可以被推荐.所以用Python抓取了这100位推荐博客,简单分析了每个博客的文章分类,阅读排行榜,评论排行榜及推荐排行榜,最后统计汇总并生成词云.正好这也算是一篇非常好的Python爬虫入门教程了. 2. 环境准备 2.1

Python爬虫入门之Urllib库的高级用法

1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成的,实质上是执行了好多次请求,一般是首先请求HTML文件,然后加载JS,CSS 等等,经过多次

转 Python爬虫入门四之Urllib库的高级用法

静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成的,实质上是执行了好多次请求,一般

(原)爬取辽宁科技大学相关新闻---python爬虫入门

有人说大部分python程序员都是通过爬虫入门的或者都是由爬虫喜欢上python的.还有大部分人学爬虫都喜欢拿自己学校的网站练手.我就是基于以上两点开始的... ok,开始,首先你需要一点python基础,一点点基础就可以,找一本薄薄的书过一遍,可以上这来找找 http://wiki.woodpecker.org.cn/moin/PyBooks 看书不爽,那你上这来看看,几道简简单单的题做过之后,顿觉一览众山小 http://www.pythontutor.com/ 咱们不是一边学爬虫,一边学p

Python爬虫入门七之正则表达式

在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我

转 Python爬虫入门七之正则表达式

静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了. 正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个

Python爬虫入门六之Cookie的使用

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个

(原)python爬虫入门(2)---排序爬取的辽宁科技大学热点新闻

发现科大网页的源码中还有文章的点击率,何不做一个文章点击率的降序排行.简单,前面入门(1)基本已经完成我们所要的功能了,本篇我们仅仅需要添加:一个通过正则获取文章点击率的数字:再加一个根据该数字的插入排序.ok,大功告成! 简单说一下本文插入排序的第一个循环,找到列表中最大的数,放到列表 0 的位置做观察哨. 上代码: # -*- coding: utf-8 -*- # 程序:爬取点击排名前十的科大热点新闻 # 版本:0.1 # 时间:2014.06.30 # 语言:python 2.7 #--