Python爬虫系列06——requests模块(1)

系列目录

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



前言

从这节开始,我们将进入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 requests

response = 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 requests

response = 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模块基本参数的讲解。文毕,躺平。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值