IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网页信息获取--requests库 -> 正文阅读

[网络协议]网页信息获取--requests库

requests库

python的一个HTTP库(第三方,需要使用pip命令安装),主要用途为发送网络请求,根据服务器的要求不同,可以使用GET、POST、PUT等方式进行请求,并可以对请求头进行伪装,使用代理访问

requesets库中的主要方法

方法描述
requests.request()构造一个请求,是支持下面的基础方法(下面方法基于该方法封装)
get()获取html页面的主要方法
post()向网页提交POST请求
head()获取html网页头信息
put()向网页提交PUT请求
patch()向网页提交局部修改请求
delete()向网页提交删除请求

requests.request()方法

requests.request(method,url,**kwargs)

上面get、post、put等方法都是通过request方法得到
在这里插入图片描述

**kwargs控制访问参数(均为可选项)

参数描述作用
params字典或字节序列作为参数增加到url当中
data字典、字节序列、文件对象作为requests的内容(向服务器提交资源时使用)
jsonjson格式的数据,作为requests的内容
headers字典向url访问时发起的HTTP头字段,可定制HTTP协议头(用于伪装请求)
cookies字典Request中的cookie
files字典类型,传输文件向某一个链接提交文件
timeout设置超出时间在规定的timeout时间内没有返回内容,引发异常(可避免等待时间过长)
proxies字典格式,设置访问代理服务器,可增加登录认证,可用于隐藏真实ip地址,防止爬虫的逆追踪

requests库中两个重要对象

response(Response对象)=requests.request(method,url)(Request对象

response是一个Response对象,它包含服务器返回的所有信息,也包含请求的Request信息

Response对象属性

属性描述
status_codehttp请求的返回状态,200表示连接成功,404表示失败
texthttp响应的字符串内容即url对应的页面内容(用于查看网页内容)
encoding从HTTP的 header中猜测的响应内容编码格式
apparent_encoding从响应内容中分析出的响应内容编码格式(备选编码方式)
contenthttp相应内容的二进制形式

爬虫小测
在这里插入图片描述

案例:基于requests的基础爬虫框架

import requests
def get_html(url):
	try:
		response=requests.get(url,timeout=10)
		response.raise_for_status()
		response.encoding=response.apparent_encoding
		return response.text
	except:
		return '连接错误'
if __name__=='__main__':
	url='https://www.sina.com.cn/'	
	print(get_html(url))		

执行结果
在这里插入图片描述

requests的其他功能

设置超时

在请求时设置超时等待时间,可以避免等待太久,在请求时给参数timeout传入一个数字,单位为秒,请求等待时间超过这个值,就会断开并报错
在这里插入图片描述

设置请求头

http消息头,指的是客户端请求或服务器响应时传递的头部信息,以明文的字符串格式传送,键值对分隔,内容包含浏览器信息、请求数据类型等,
在使用爬虫爬取网页信息时如果没有得到返回的数据而且没有添加请求头,多半是因为爬虫被发现了,我们通过下面的例子可以看到访问同一个网站,添加请求头和不添加请求头的区别

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 13:04:03  更:2021-11-11 13:06:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 8:49:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码