网页信息获取--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的内容(向服务器提交资源时使用)
json json格式的数据, 作为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_code http请求的返回状态,200表示连接成功,404表示失败
text http响应的字符串内容即url对应的页面内容(用于查看网页内容)
encoding 从HTTP的 header中猜测的响应内容编码格式
apparent_encoding 从响应内容中分析出的响应内容编码格式(备选编码方式)
content http相应内容的二进制形式

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

案例:基于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))		

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

扫描二维码关注公众号,回复: 13784872 查看本文章

requests的其他功能

设置超时

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

设置请求头

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_54510474/article/details/120405155