python爬虫相关---Request库

*Requests库的安装

  1. 打开cmd控制台
  2. pip install requests

* requests库的get()方法

r = requests.get(url)
r 是返回的一个Response对象

检测是否安装成功的方法
import requests
r=requests.get("http://www.baidu.com")
print(r.status_code)
要是返回的状态码是200,则说明访问成功

Response对象的属性

r.status_code ---> http请求的返回状态,200表示连接成功,404表示连接失败
r.text --->http响应内容的字符串形式,即网络页面的内容
r.encoding --->从HTTP header中获取响应内容的编码方式
r.appearent_encoding ---> 从内容中分析出响应内容的编码方式

* 爬取网页的通用代码框架

加入了网络异常处理的部分,使代码更加完善
Requests库的异常有以下几个

requests.ConnectionError --->网络连接异常,如DNS查询失败,拒绝连接等
requests.HTTPError --->HTTP错误异常
requests.URLRequired --->URL缺失异常
requests.TooManyRedirects --->超过最大重定向次数,产生定向异常
requests.ConnectTimeout --->连接远程服务器超时异常
requests.Timeout --->请求URL超时,产生超时异常

一个常用的方法:r.raise_for_status() --->如果状态码不是200,则产生requests.HTTPError异常

代码框架如下:

def getHTMLText(url):

try:

r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text

except:

return "产生异常"

''' python
'''

*HTTP协议(超文本传输协议)

http协议采用url作为定位网络资源的标识
URL格式http://host[:port][path]

host: 合法的Internet主机域名或者IP地址
port: 端口号,缺省为80
path: 请求资源的路径

requests库的七个主要方法.png

HTTP协议对资源的操作.png

注:理解PATCH与PUT的区别

patch与put的区别.png

*Requests库主要方法的解析

  1. request方法
    requests.request(method,url,**kwargs)

method:请求方式,对应get/put/post等7钟
url:要获取的页面的url链接
**kwargs:控制访问的参数,共13个

**kwargs参数解析(访问控制参数,均为可选参数)

params:字典或字节序列,作为参数增加到url中

params.png

data:字典,字节序列或文件对象,作为Request的内容
data.png

json:JSON格式的数据,作为Request的内容
json.png

headers:字典,HTTP定制头
headers.png

cookies: 字典或CookieJar
auth: 元组,支持HTTP认证功能
files:字典类型,传输文件

files.png

timeout:设定超时实践,秒为单位
timeout.png

proxies:字典类型,设定访问代理服务器,可以增加登录认证
proxies.png

allow_redirects:True/False,默认为True,重定向开关
stream:True/False,默认为True,获取内容立即下载开关
verify:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容