2022-04-11 爬虫day1 网络请求

现在这个社会,每个人每天都会打开大量的网站,但是背后的原理却少有人懂。

打开网站这个动作,其实叫【网络请求】

图例

过程:就是先发送请求,再由服务器返回相应,最后由浏览器渲染后呈现网页。

爬虫第一步:获取网页

requests库包含了很多帮助实现网络请求的函数

图例

URL:统一资源定位符

即我们常说的网址/链接就是一个 URL 。

它其中包含了协议、主机域名和路径。通过这样一个链接我们就能在互联网上找到这个资源。

URLの组成

主机域名=服务器在网络上的位置

路径≈文件名·目录

http/https:协议

http 是一种从网络传输数据到本地浏览器的传送协议,一般也称为 http 协议。

https则是对数据进行加密的一种协议


一般来说,服务器返回给浏览器的响应内容,主要包含了响应状态码、响应头和响应体等信息。

响应头的信息现阶段用不到,重点来看响应状态码和响应体信息。

当服务器收到网络请求时,会返回一个三位数字的代码响应浏览器的请求,表示服务器对于这个请求的响应状态,我们称之为响应状态码。

# 仔细阅读完代码,点击运行即可。

import requests

# 发送请求,并把响应结果赋值在变量res上

res = requests.get('https://www.baidu.com/')进行网络请求

# 打印Response对象的status_code属性,即状态码

print(res.status_code)查阅状态码代码

不同的状态码

# 导入requests库

import requests

# 发送请求,并把响应结果赋值在变量res上

res=requests.get('https://www.baidu.com/')

# 调用Response对象的text属性,获取响应内容

text=res.text获取响应的具体内容

# 将响应内容的编码格式设置为utf-8

res.encoding='utf-8'转换为中文编码<'utf-8'/'GBK'>

text=res.text

# 打印响应内容

print(text)

爬虫的伦理

弟子规》有云:“用人物,须明求,倘不问,即为偷”。

在互联网世界中,存在着一个 Robots 协议,全称网络爬虫排除标准(Robots exclusion protocol)。是网站开发者用来告知网络爬虫哪些页面可以抓取,哪些不行的协议。

Robots协议是互联网爬虫的一项公认的道德规范。

比如我们要查看闪光读书网站的 Robots 协议的话,就直接访问 https://wp.forchange.cn/robots.txt 查看就好了。

再例:https://www.taobao.com/robots.txt查看淘宝网的robots协议、

学会看robots协议

robots协议

学看robots协议

总结

总结
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容