1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python中response对象的属性 python爬虫response对象及通用代码框架

python中response对象的属性 python爬虫response对象及通用代码框架

时间:2021-10-08 14:23:43

相关推荐

python中response对象的属性 python爬虫response对象及通用代码框架

**

- 1、Response对象的属性

**

属性

说明

r.status_code

HTTp请求的返回状态,200表示连接成功,404表示失败

r.text

HTTp响应内容的字符串形式,即url对应的页面内容

r.encoding

从HTTP header中猜测的响应内容编码方式

r.apparent_encoding

从内容中分析出的响应内容编码方式(备选编码方式)

r. content

HTTP 响应内容的二进制形式

response的编码意义

r.encoding

从HTTP header中猜测的响应内容编码方式

r.apparent_encoding

从内容中分析出的响应内容编码方式(备选编码方式)

r.encoding:如果header中不存在charset,则认为编码为IS0-8859-1 r.text根据r.encoding显示网页内容

r.apparent_encoding:根据网页内容分析出的编码方式。可以看作是r.encoding的备选

**

2、requsets的异常

**

异常

说明

requsets.ConnectionError

接错误异常,如DNs查询失败、拒绝连接等

requsets.HTTPError

HTTP错误异常

requsets.URLRequired

URL缺失异常

requsets.TooManyRedirects

超过最大重定向次数,产生重定向异常

requsets.ConnecTimeout

连接远程服务器超时异常

requsets.Timeout

请求URL超时,产生超时异常

3、通用代码框架

import requests

#定义通用爬虫代码框架

def getHTMLText(url):

try:

r=requests.get(url,timeout=30)

r.raise_for_status()#如果状态不是200,引发HTTPError异常

r.encoding=r.apparent_encoding

return r.text

except:

return"产生异常"

#main函数

if _name_=='_main_':

url=""

print(getHTMLText(url))

4、HTTP协议

HTTP,( Hypertext Transfer Protocol, )超文本传输协议

HTTP是一个基于“请求与响应”模式的、无状态的应用层协议

HTTP 协议采用 URL 作为定位网络资源的标识,URL 格式如下

http //host[:port][path]

host:合法的lnternet主机域名或IP地址

port:端口号,缺省端口为80

path:请求资源的路径

(1)HTTP协议对资源的操作

方法 说明

方法

说明

GET

请求获取URL位置的资源

HEAD

请求获取URL位置资源的响应消息报告,即获得该资源的头部信息

POST

请求向URL位置的资源后附加新的数据

PUT

请求向URL位置存储一个资源,覆盖原URL位置的资源

PATCH

请求局部更新URL位置的资源,即改变该处资源的部分内容

DELETE

请求删除URL位置存储的资源

(2)PATCH和PUT的区别

假设URL位置有一组数据UserInfo,包括UserID、UserName等20个字段

需求:用户修改了UserName,其他不变

采用PATCH,仅向URL提交UserName的局部更新请求

采用PUT,必须将所有20个字段一并提交到URL,未提交字段被删除

PATCH的最主要好处:节省网络带宽

(3)HTTP协议与Requests库功能一致相关方法对应

HTTP协议方法

Requests库方法

GET

requests.get()

HEAD

requests.head()

POST

requests.post()

PUT

requests.put()

PATCH

requests.patch()

DELETE

requests.delete()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。