博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫response对象及通用代码框架
阅读量:2433 次
发布时间:2019-05-10

本文共 1714 字,大约阅读时间需要 5 分钟。

**

- 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="http://www.baidu.com"       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()

转载地址:http://istmb.baihongyu.com/

你可能感兴趣的文章
Pocket PC应用程序中使用SQL Server CE(转)
查看>>
完美解决不修改NTLDR-最后一次正确配置的问题(修正)(转)
查看>>
在双硬盘上安装独立32位和64位双系统(转)
查看>>
MYSQL列类型参考(转)
查看>>
病毒及木马预警一周播报(06.04.17~04.23)(转)
查看>>
黑客口述:我的第一台3389肉鸡的经历(转)
查看>>
关于 cleanup stack 和 two phase consturction [1](转)
查看>>
Oracle数据导入导出imp/exp (转)
查看>>
如何构建固定网(PSTN)短消息系统(转)
查看>>
Delphi文件管理(三)(转)
查看>>
关于网线的一些问题的解答(转)
查看>>
深度分析Win 2003自动升级补丁功能(转)
查看>>
使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(转)
查看>>
来访者地址统计,很好的一个程序!(转)
查看>>
UpdateWindow函数 (转)
查看>>
移动通信的主要测量指标及注意事项(转)
查看>>
无盘网络正确网络配置建议-减少卡机蓝屏关键(转)
查看>>
如何在Delphi中调用oracle的存储过程返回数据集(转)
查看>>
ASP指南:ADO/SQL(数据存取) (转)
查看>>
五种windows密码设置及破解(转)
查看>>