网页信息获取--requests库

2021/11/9 23:12:31

本文主要是介绍网页信息获取--requests库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • requests库
    • requesets库中的主要方法
  • requests库中两个重要对象
    • 案例:基于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消息头,指的是客户端请求或服务器响应时传递的头部信息,以明文的字符串格式传送,键值对分隔,内容包含浏览器信息、请求数据类型等,
在使用爬虫爬取网页信息时如果没有得到返回的数据而且没有添加请求头,多半是因为爬虫被发现了,我们通过下面的例子可以看到访问同一个网站,添加请求头和不添加请求头的区别

在这里插入图片描述



这篇关于网页信息获取--requests库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程