全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

requests模块

发布时间:2022-09-20 17:01:59
发布人:qyf

requests模块

  爬虫中通过什么模拟浏览器工作?重点来啦!那就是requests模块。

  requests模块

  requests文档http://docs.python-requests.org/zh_CN/latest/index.html

  requests模块的作用:

  • 发送http请求,获取响应数据

  requests模块是一个第三方模块,需要在你的python(虚拟)环境中额外安装

  • pip/pip3 install requests

  安装完成之后我们就可以模拟浏览器向外发出请求了。

  如何实现呢?首先看一下发出get请求的代码实现:

  # 需求:通过requests向百度首页发送请求,获取该页面的源码

  # 步骤1: 导入requests模块

  import requests

  # 步骤2: 确定访问目标url

  url = 'https://www.baidu.com'

  # 步骤3. 向目标url发送get请求

  response = requests.get(url)

  # 步骤4: 打印响应内容

  print(response.text)

  就这样轻松的我们通过requests模块跟百度打了一个“招呼”,但是说真的,挺假的!!!因为假装的不像呗!

  所有浏览器在访问百度的时候都是该带都带着,比如上面提到的请求行,请求头或者请求体的内容。

  我们这个是赤裸裸的访问哪,人家百度也挺好脾气的,没有说你是爬虫我就不给你东西了。但是怎样才能伪装的更像一些呢。

  最基本的就是添加请求头了,大家可以通过开发者工具中的Network自行观察。

  我们这里怎么添加呢?

  大家运行代码可以发现,会打印出很多的内容,那这个内容是什么呢?这就是服务器收到了你的请求,把你想要的东西给你了。

  我们打印出来看起来很乱,但是浏览器可是这些标签的翻译专家,所以浏览器上你看到的是一个百度的首页面,但是我们通过程序看到的是像下面一样的代码。

  而通过浏览器的开发者工具Network看就整齐很多,因为浏览器就是干这个没办法。

  但是上面大家看到的只是响应体的内容,因为在HTTP协议中,响应也是分成了三部分:就是响应行,响应头和响应体。我们在浏览器中看到的都是响应体的内容显示。

相关文章

显著性目标检测和一般目标检测最本质的区别是什么区别?

显著性目标检测和一般目标检测最本质的区别是什么区别?

2023-10-15
在目标检测里single-shot和multi-shot的主要区别是什么?

在目标检测里single-shot和multi-shot的主要区别是什么?

2023-10-15
APP安全测试与普通B/S架构的渗透测试有什么区别?

APP安全测试与普通B/S架构的渗透测试有什么区别?

2023-10-15
什么是域控制器?

什么是域控制器?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取