系列目录

上一篇:05、Python爬虫之正则表达式常用方法(超全)


目录

  • 系列目录
  • 前言
  • 一、浏览器的来源
  • 二、request模块
    • 1、安装request模块
    • 2、get请求和post请求初识
  • 总结

前言

从这节开始,我们将进入requests模块的学习,本想直接了当的讲解它的各种使用方法和注意事项,但是想了想还是决定来唠嗑一下它的原理,方便大家对爬虫有一个直观的理解。后面码文,都会在前言附加上关键字,方便快速了解全文重点,按需取用。

关键字:浏览器认识、requests模块初识


一、浏览器的来源

相信大家对浏览器都不陌生了,在手机电脑或者其他电子设备都可以看到它的身影。而requests模块,它的原理本身就是模拟浏览器,向服务器端发送请求。

我们在搜索引擎输入关键词,就会出现URL列表(这里就简单说是网址吧)包含各种简单的信息。一点击访问,我们就拿到了相应的页面内容,那么搜索引擎是怎么知道这些URL的呢?

假设每个人都有一个网站,一个人对应一个URL。现在我们想要访问小胖的网站,需记住小胖的域名,即www.xiaopang.com。这不轻轻松松,我们马上就记住了。然而,当你要访问李华、李波、张三…的网站。于是我们就分别需要记住:www.lihua.com
www.libo.com www.zhangsan.comand so on,而这是不现实的,可能会出现以下两种情况:

  • 随着你需要访问的人数增加,域名需要记得越来越多。
  • 倘若你要访问的人,他的名字有点拗口。例如乾隆皇帝的全称:高宗法天隆运至诚先觉体元立极敷文奋武钦明孝慈神圣纯皇帝,那么你访问它:www.乾隆皇帝全称.com (拼音君已下线)

那怎么解决以上两点问题呢?每个上网的用户都拿个小本本把别人的信息记录下来,类似于路由表那样,但这样依然无法不是太好,总不能人手一本走天下吧。于是,出现了一个专门做这个事情的人——浏览器。

浏览器来自不同公司的搜索引擎,它们把尽可能的把所有网址记录下来,并给他们标上关键字,例如:

小胖——海鲜老板,李华——人工智能,张三——法外狂徒

这样关键字与网址就形成了映射关系,再按照关键字对各个网站进行分类,当你在浏览器的搜索引擎输入关键字,浏览器便会为你匹配到对应的网络列表(到了这里,就是咋们平常最熟悉的环节)。所以百度、谷歌等类似于中间商,他们所做的工作重点便是替你整理和保管这个小本本,使网站与关键字形成映射关系,方便你依照关键字进行筛选匹配。

二、request模块

1、安装request模块

在终端输入:pip install requests

2、get请求和post请求初识

  • 对于get,一般不用登录,可以直接拿取页面
import requestsresponse = requests.get("https://www.sogou.com/")
print(response.text)   #拿到了文本信息

结果如下:

<!DOCTYPE html><html lang="cn"><head><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no"><script>window._speedMark = new Date();  window.lead_ip = '222.16.21.47';window.now = 1652451688479;</script><script type="text/javascript">/*file=static/js/resourceErrorReport.js*/!function(a){var n=(new Date).getTime(),r=a.location.protocol;function c(e,t){var o=(new Date).getTime()-n;(new Image).src=["//pb.sogou.com/pv.gif?uigs_productid=wapap(以下省略)
  • 对于post,什么时候用到post请求?一般需要登录才能拿到页面,往某个地方提交数据的情况
import requestsresponse = requests.post(url="URL",data="Data")
#url对应网址,data对应登录信息
print(response.text)    #拿到了文本信息

requests模块还有以下方法:

  • requests.put()
  • requests.delete()
  • requests.head()
  • requests.options()

通过request模块,我们便可以模拟浏览器的很多行为,这就是我们对request模块的初步认识。学习requests模块,其实就是学习requests模块的参数。如果把参数理解参透,我们就可以利用它来实现爬虫。


总结

从个人角度,简单介绍了浏览器的作用,并同requests模块联系对比。下篇进入对requests模块基本参数的讲解。文毕,躺平。

Python爬虫系列06——requests模块(1)相关推荐

  1. Python爬虫实战,requests模块,爬虫采集网易财经股票交易数据

    前言 本文给大家分享的是如何通过Python爬虫采集网易财经易数据 开发工具 Python版本: 3.8 相关模块: requests模块 parsel模块 环境搭建 安装Python并添加到环境变量 ...

  2. #私藏项目实操分享#Python爬虫实战,requests模块,Python实现爬取网站漫画

    前言 今天带大家爬取爬取网站漫画,废话不多说,直接开始~ 开发工具 Python版本:3.6.4 相关模块: requests模块: re模块: shutil模块: 以及一些Python自带的模块. ...

  3. python爬虫实战,requests模块,Python实现抓取头条街拍美图

    前言 利用Python爬取的是今日头条中的街拍美图.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re: requests模块: 以及一些Python自带的 ...

  4. Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤

    开发工具 Python版本: 3.6.4 相关模块: requests模块: urllib模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块 ...

  5. python爬虫学习(一) requests模块

    requests模块: python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高.作用:模拟浏览器发请求. 如何使用:(requests模块的编码流程) 一指定url 一发起请求 ...

  6. Python爬虫实战,requests模块,Python实现告诉你女神节送什么礼物

    前言 利用Python实现告诉你女神节送什么礼物.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 qrcode模块: ...

  7. Python爬虫实战,requests模块,Python实现抓取芒果TV弹幕

    前言 利用Python实现抓取芒果TV弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  8. Python爬虫实战,requests模块,Python实现抓取腾讯视频弹幕评论

    前言 利用Python实现抓取腾讯视频弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  9. Python爬虫实战,requests模块,Python实现抓取知乎热点话题

    前言 利用Python实现抓取知乎热点话题,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: re模块: pandas模块: lxml模 ...

最新文章

  1. 替换敏感字符,统计,乘法表,函数
  2. Oracle按用户进行统计信息更新
  3. VS中发布并调试IIS程序(非附加进程!!!)
  4. java erlang 游戏_游戏中最近可达点(用erlang写一个简单算法)
  5. android系统优化(17)---高通平台性能优化概述
  6. Visio.2010.Premium.简体中文VOL版
  7. Mini USB 引脚定义及机械尺寸
  8. 2021-视频监控中的多目标跟踪综述
  9. 柏拉图《会饮篇》阅读笔记
  10. 高质量外链的十大特性
  11. Gantt for .NET
  12. 小心肝队-冲刺日志(第十天)
  13. DHCP如何分配IP地址
  14. js 动态生成 input 的绑定事件 blur 无效
  15. html 纵向导航,div+css纵向导航如何实现且为导航添加超链接
  16. 基于Python的超市零售数据分析
  17. 宿舍管理系统-设计数据库
  18. 华为NQA与默认路由
  19. ToggleButton图片按钮的两种制作方法
  20. F - Deer-Proof Fence final

热门文章

  1. Java中String和char、int相互转换
  2. MVVM和MVC的区别,以及MVVM的缺点
  3. aws SQS 使用方法
  4. 大学参加船模比赛的作品
  5. Python怎么导入库
  6. SS00003.airthmetic——|HadoopArithmetic环境部署.v03|——|Arithmetic.v03|Jupyter交互程序|
  7. 计算机系统英文论文文献,计算机英文原文参考文献
  8. 学习用于异常处理的terminate()函数
  9. kubernetes1.13.3 heapster部署遇到的问题
  10. 16种最好的方法,你可以推动过去的拖延