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

通过

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

我们知道了什么是爬虫

也知道了爬虫的具体流程

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

要对其数据进行分析

就要知道应该怎么请求

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

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

209a4e6f08be33800e8143627afca9a0.gif

哦,不对。

我们要学会怎么数据抓包

虽然小馒头也是包的一种

ok...anyway...

打开我们的 Chrome 浏览器

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

尽量不要用国产浏览器

很多是有后门

0fa83a22d9938e7382473c4daeb36605.gif

所以

Chrome 是首选!

ok,打开 Chrome 浏览器之后呢

我们随便输入一个网址吧

比如

www.xxxhub.com

708f52986e477679ff038c9c42c2522b.gif

营养跟不上?那就...

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

www.baidu.com

用力回车

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

6affe1f37806e8165216a67ae5b6dfa4.png

这个时候,你按下 F12

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

e01f672dc6da2981fe1033a1c18978a0.png

这个玩意

正是我们想要的

可以看到

Element 标签下对应的 HTML 代码

其实就是这个网页的代码

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

我们还可以修改一些东西

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

f39fa28d681bc68645aa0387f6e05b69.png

按下回车

d76e5a7229ae37cd417b4d3650f5c11f.png

是不是瞬间逼格满满

哦,不好意思

今天不是要说怎么装x的

a1af17066183e04fbf4f0b5c03ad579b.png

我们点击 Network 这个标签

然后刷新一下

可以看到有很多的请求

7154fc92b8f8d077a77bfe03ce3ae438.png

HTTP 的请求方式有好几种

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

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

咱们就一一说道说道

接下来就是

学习 python 的正确姿势

0119323f0d3d5e8dc8f91017c27017d2.gif

我们直接搜索「苍老师

然后我们就可以发现

有好多请求

49a23813383be17971e9e6cae54d4e31.png

这些都是 GET 请求

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

647d45296d3c1ad217be7570d2b04580.png

可以看到我们的请求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 表单的形式将数据提交给服务器

我们来登录一下百度

f423beb680ffbf006a55554b7b29742c.png

当我们点击登录的时候

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

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

请求方法就是 POST

340adeefc0003a24587f26cc0b19b19a.png

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

5c54b79d8283dcb52c8bca1a52048598.png

拉到下面就可以看到

username 就是 xiaoshuaib

而密码,就是被加密了的

这些都是 POST 参数

可以发现

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

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

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

这样就相对安全一些

ok

你已经了解请求方式了

接下来说说请求头

d150afe88e50d84e2d199c2c907b5dca.gif

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

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

可以看到这个玩意

339483b2231caad791d98bbe4e28c455.png

这个就是请求头

Request Header

我们在做 HTTP 请求的时候

除了提交一些参数之外

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

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

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

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

比如

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

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

60ef2efa24222c3178bd09c1d5311653.png

说完我们这边的请求了

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

你一定遇到过 404 页面吧

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

1e9e7c328a838939992bac46ff10ff75.gif

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

都是服务器的响应码

一般服务器给我们返回 200

那就说明

我们成功请求了

17e78167548368c0c29e8f215cd10610.png
fbb91c30251222395e7b350314121006.png

再来说说响应头

fc3bcbb78118e6b32c70853c649d3915.png

当我们请求成功之后

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

还有响应头

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

告诉我们cookie的设置

还有一个

就是响应体

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

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

d8473ae4274241a861d42c90d99581c0.png

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

对于不同的请求

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

除了 HTML的,也有 JSON 的

图片二进制数据等等

可以针对不同的情况

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

说到这里

想必你已经会在 Chrome 抓包

所谓抓包

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

知道它是怎么搞的

那么通过我们的请求

GET 请求也好

POST 请求也罢

只要知道请求方式

只要知道请求参数

只要知道请求头定义

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

这..

对我们来说

爬虫还难么?

6a17149ec2939433b81844506936d90e.png

完了!

爽吗?

那还不转发?

那还不点赞?

6d79e01156af105e7aadc7d9c7d097f8.png
db10d3f3240a7b492310cde29dff08b6.png

那就赶紧关注

加入pythoner的聚集地

我们一起牛逼

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql查询mysql参数配置_查询参数配置

示例请求示例http(s)://rds.aliyuncs.com/?ActionDescribeParameters&DBInstanceIdrm-uf6wjk5xxxxxxx&正常返回示例XML 格式此选项设置服务器范围内的默认填充因子值。提供填充因子是为了优化索引数据存储和性能。fill factor50mssql2008r2此选项设置服务器范围内的默…

python3类的继承详解_基于python3 类的属性、方法、封装、继承详解

下面小编就为大家带来一篇基于python3 类的属性、方法、封装、继承实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧Python 类Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类…

linux本地mysql与服务器同步数据_linux下指定mysql数据库服务器主从同步的配置实例...

一、 概念:① 数据库同步 (主从同步 --- 主数据库写的同时 往从服务器写数据)② 数据库同步 (主主同步 --- 两台数据库服务器互相写数据)二、 举例数据库服务器(A) 主数据库 IP:192.168.1.134数据库服务器(B) 主数据库 IP:192.168.1.13…

c#二叉树 取叶子节点个数_两种类似但是原理不同的算法求二叉树的所有叶子节点和...

技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完。目前我选择C语言,Python和Java作为实现语言,因为这三种语言还是比较典型的。由于篇幅和精力有…

所有的service报红但不报错_从一个应用报错来看centos系统的/tmp目录自动清理规则...

概述分享最近应用碰到的一个奇怪bug,一开始以为是代码上的问题,找了一段时间发现居然是因为系统的一个自动清理规则导致,下面一起来看看吧~一、应用报错:logwire.core.exceptions.GeneralUnhandledException: 服务端未处理异常...…

python对浏览器的常用操作_Selenium元素的常用操作方法分析

本文实例讲述了Selenium元素的常用操作方法。分享给大家供大家参考,具体如下:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozill…

springboot中接口实例化_AngularJs中控制器的定义,实例化,作用域范围

AngularJs中控制器的定义,实例化,作用域范围基于AngularJS入门与进阶(江荣波 著)这本书的笔记AngularJS 1.x的demoAngularJS1.x和Angular2,4,5是不一样的两个东西,构建方式,语法,都很多不同AngularJs控制器定义与实例化…

高斯核函数参数确定_高斯过程

之前看过高斯过程(GP),不过当时也没太看懂,最近花时间认真研究了一下,感觉总算是明白咋回事了,本文基于回归问题解释GP模型的思想和方法。文中的想法是自己思考总结得来,并不一定准确,也可能存在错误性。为…

uniapp光标自动定义到文本框_特检自动化行吊静力检测方案

主要测量功能使用徕卡测量开发的Windows版数据传输软件,通过蓝牙连接徕卡DISTO,经过简单的测量周期设置,即可实现自动化的距离检测。测量数据还可以输出Excel,甚至可以实时发送至PC运行的第三方软件中,这么强大的软件还…

安装python时需要勾选_一体化污水处理设备安装时需要注意事项

一体化污水处理设备用于处理生活污水和低浓度有机污水,它基本上采用机电完全封闭的结构,不需要专业人员进行管理。它方便且易于清洁,因此引起了很多关注。一体化污水处理设备的安装方法通常为三种:地埋式,地上式和半地…

oracle驱动maven报错_在Maven仓库中添加Oracle JDBC驱动

由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。一.首先要得到Oracle JDBC Driver2.通过Oracle的安装目录获得,位置在“{ORACLE_HOME}jdbclibojdbc14.jar”二.手动安装…

python3.6程序_python3.6如何生成exe程序

PyInstaller的原理简介PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运…

java切片_ java中一个极其强悍的新特性Stream详解(非常实用)

java8中有两个非常有名的改进,一个是Lambda表达式,一个是Stream。如果我们了解过函数式编程的话,都知道Stream真正把函数式编程的风格引入到了java中。这篇文章由简入繁逐步介绍Stream。一、Stream是什么从名字来看,Stream就是一个…

java获取网络图片_有了这50套Java毕设项目(源码 案例),offer拿到手软,无偿分享...

简介:又到了开学季,不少人都很是烦恼,手把手教你做Java毕设项目,有教程视频源码100套随意选择,试试手!!列举其中2个系统大纲在线考试系统1.综述网络考试系统的项目背景及国内外发展现状&#xf…

python字典的建立和输出_字典的创建和使用

直接创建d {age: 23, name: Daniel, sex: 1}输出结果:{age: 23, name: Daniel, sex: 1}dict函数# 通过序列对建立字典vaulues [(name, Daniel), (age, 23), (sex, 1)]print dict(values)# 通过关键字建立字典print dict(nameDaniel, age23, sex1)# 如果 dict 不传…

python字符串出栈方法_1.Python实现字符串反转的几种方法

1.Python实现字符串反转的几种方法题目: 在Python环境下用尽可能多的方法反转字符串,例如将s "abcdef"反转成 "fedcba"第一种:使用字符串切片result s[::-1]第二种:使用列表的reverse方法l list(s)l.reverse()result …

linux将日期和日历信息追加到文件中_Linux常用指令

常用指令 1、帮助指令 man [指令或者配置文件] help 指令 2、文件目录类指令 1、pwd 功能:显示当前工作目录的绝对路径 2、ls [选项] [目录或者文件] 功能:列出文件名和目录使用:ls -l 以列表的形式显示信息ls -a …

python播放音乐同步歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码

使用python扫描本地音乐并下载歌词这次这个真的是干货哦,昨晚弄了半晚上,,,,从8点吃完饭就开始写,一直到了快12点才弄好,,,新手,伤不起呀。。。。先简单的说下…

ajax mysql点赞_php+mysql结合Ajax实现点赞功能完整实例

phpmysql结合Ajax实现点赞功能完整实例131415161718192021222324252627282930313233343536//判断是否已经存在了cookiefunction checkcookie(gindex){var thiscookie goodplus gindex;var mapcookie getCookie(thiscookie)if (mapcookie!null && mapcookie!"&q…

一个搜索框多个按钮_网站搜索栏设计指南:要不要?怎么设计?

在网站的设计过程中,搜索栏是一个很容易被忽略的部分,但用户却依赖它来寻找特定的信息。由于搜索栏是网站中最常用的元素之一,所以搜索栏的设计对用户体验有着重要的影响。网站是否需要搜索栏?搜索栏使用背后的思维和心理是帮助用…