浏览器里面看到的表单数据映射到python_python爬虫入门01:教你在 Chrome 浏览器轻松抓包...
通过
python爬虫入门:什么是爬虫,怎么玩爬虫?
我们知道了什么是爬虫
也知道了爬虫的具体流程
那么在我们要对某个网站进行爬取的时候
要对其数据进行分析
就要知道应该怎么请求
就要知道获取的数据是什么样的
所以我们要学会怎么抓咪咪!
哦,不对。
我们要学会怎么数据抓包
虽然小馒头也是包的一种
ok...anyway...
打开我们的 Chrome 浏览器
在这里 小帅b 提醒大家一句
尽量不要用国产浏览器
很多是有后门的
所以
Chrome 是首选!
ok,打开 Chrome 浏览器之后呢
我们随便输入一个网址吧
比如
www.xxxhub.com
营养跟不上?那就...
输入一个人人都能上的网站
www.baidu.com
用力回车
一个熟悉的页面显示在你的面前
这个时候,你按下 F12
你可以看到弹出一个有点装x的窗口
这个玩意
正是我们想要的
可以看到
Element 标签下对应的 HTML 代码
其实就是这个网页的代码
我们可以在这里除了看看它的代码之外
我们还可以修改一些东西
比如我把这个按钮改成小帅b
按下回车
是不是瞬间逼格满满
哦,不好意思
今天不是要说怎么装x的
我们点击 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 请求也罢
只要知道请求方式
只要知道请求参数
只要知道请求头定义
只要知道怎么拿到返回的数据
这..
对我们来说
爬虫还难么?
完了!
爽吗?
那还不转发?
那还不点赞?
那就赶紧关注
加入pythoner的聚集地
我们一起牛逼
浏览器里面看到的表单数据映射到python_python爬虫入门01:教你在 Chrome 浏览器轻松抓包...相关推荐
- Python入门01:如何在 Chrome 浏览器轻松抓包
python入门01:教你在 Chrome 浏览器轻松抓包 通过上一节我们知道了什么是爬虫,也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候,要对其数据进行分析 就要知道应该 怎么请求,就 ...
- python爬虫入门之http协议和 Chrome 浏览器抓包工具
在浏览器中发送一个http请求的过程: 1.当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求.HTTP请求主要分为"Get"和&quo ...
- 谷歌显示不安全连接到服务器地址,教您解决Chrome浏览器提示“网站连接不安全”的方法...
近期,一些网友留言反馈说使用Chrome浏览器查找资料结果弹出"您与此网站之间建立的连接不安全,请勿在网站上输入任何敏感信息(例如密码或信用卡信息),因为攻击者可能会盗取这些信息" ...
- python谷歌网页爬虫_python爬虫入门01:教你在 Chrome 浏览器轻松抓包
通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...
- c语言自动填表chrome网页,教你设置Chrome浏览器里的自动填表功能
[IT168 应用]大家在进行网络购物或者一些网站注册时,往往需要填写收货的地址以及信用卡的支付信息,如果每次都要填写这些信息,显然会非常复杂,并且可能因为没有记住而去再次查询确认身份的信息等. 通过 ...
- python网页抓包_python爬虫入门01:教你在 Chrome 浏览器轻松抓包
通过 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是什么样的 所以我们要学会怎么抓咪咪! 哦,不对. ...
- pgslq表的字段类型_Python 爬取微信公众号文章和评论 (基于 Fiddler 抓包分析)
背景说明 感觉微信公众号算得是比较难爬的平台之一,不过一番折腾之后还是小有收获的.没有用Scrapy(估计爬太快也有反爬限制),但后面会开始整理写一些实战出来.简单介绍下本次的开发环境: python ...
- [python爬虫] Selenium切换窗口句柄及调用Chrome浏览器
因为我的博客是根据我每个阶段自己做的事情而写的,所以前言可能有点跑题,但它更有利于让我回忆这个阶段自己的所作所为.这篇文章主要介绍Selenium爬虫获取当前窗口句柄.切换窗口句柄以及调用Chrome ...
- Chrome浏览器及调试教程
==>(微信公众号:IT知更鸟)欢迎关注<^>@<^> Chrome浏览器及调试教程 在web开发过程中,我们在写JavaScript脚本时难免会遇到各种bug,这时,我 ...
最新文章
- 数学建模题目及论文_三道适合作为试题的数学建模题目及其评分标准
- leetcode C++ 13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
- mysql截取栏目字符_substring从指定字符串开始截取(图)
- web前端培训分享Electron之Main Process API
- ddrelease64 黑苹果_High Sierra 黑苹果构建 微星X99A GAMING PRO CARBON+i7 6800k+GTX1070
- Redhat 7 Web服务器配置
- pythonbyte转int_Python将byte数组转换为int详解
- jmeter通过ant执行时报错 jmeter.log not found
- DataNode之文件系统数据集FsVolumeList
- logo qt添加_Qt官方示例-窗口标志
- win7 64位如何安装sql2005
- bjui—关闭dialog以及当前标签
- xpwifi热点设置android,xp设置共享wifi热点方法分享
- 41.朴素贝叶斯Naive Bayes公式推导与理解+求解公园凉鞋问题(借助文氏图)
- 达梦数据库解决ZYJ环境数据库连接会闪断的问题
- Acwing - 算法基础课 - 笔记(数学知识 · 二)
- QQ互联开发者认证一直审核未通过的原因
- 绝对经典的原理定理理论原则效应法则
- cscd期刊是c刊吗_武工商C刊和北大核心期刊论文发表数量位列全省同类高校前三甲...
- 美信GMSL技术让汽车数据传输更为高效
热门文章
- 开放,从容不凡,携手迈进容器应用时代 ——2020容器云职业技能大赛正式开赛
- 纪·阿晶的首次AWS之行!
- 有问有答 | Storm技术内幕与实践精华问答
- 移动端小程序 腾讯地图sdk 当前位置 地址你解析 距离计算
- ElasticSearch 并发的处理方式:锁和版本控制_07
- 数据装载器连接其他oracle数据库_07
- Jmeter 生成HTML性能测试报告
- Visual Studio Code
- java.lang.NoClassDefFoundError: org/springframework/core/ErrorCoded
- 怎么去除idea中代码的波浪线(黄色警告线)