千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > requests模块

requests模块

来源:千锋教育
发布人:qyf
时间: 2022-09-20 17:01:59 1663664519

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协议中,响应也是分成了三部分:就是响应行,响应头和响应体。我们在浏览器中看到的都是响应体的内容显示。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT