Python爬虫------requests库

1.requests库中主要包括的方法有7个:

requests.request():构造一个请求,支撑一下各方法的基础方法

requests.get():获取HTML网页的主要方法,对应于HTTP的GET

requests.head():获取HTML网页的头信息方法,对应HTTP的HEAD

requests.post():向HTML网页提交POST请求的方法,对应HTTP的POST

requests.put():向HTTML网页提交PUT请求的方法,对应HTTP的PUT

requests.patch():向HTML网页提交局部修改请求,对应HTTP的PATCH

requests.delete():向HTML页面提交删除请求,对应HTTP的DELETE

(1)requests.request()介绍

其实requests只有一个方法,也就是request()方法,其它的6个方法都是通过request()方法封装得到的

参数:requests.request(method, url, **kwargs)

method:请求方式,对应GET/HEAD/POST/PUT/PATCH/DELETE/OPTIONS  共7种

url:获取页面的url连接

**kwargs:包括13个控制访问控制参数(params,data,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(2)requests.get()介绍  #最常用

参数:rquests.get(url, params = None, **kwargs)

url:获取页面的url连接

params:url中的额外参数,字典或字节格式,可选

**kwargs:包括13个控制访问控制参数(data,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(3)requests.head()介绍 #第二常用

参数:requests.head(url, **kwargs)

**kwargs:包括13个控制访问控制参数(params,data,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(4)requests.post()介绍

参数:requests.post(url, data=None,json=None,**kwargs)

url:获取页面的url连接

data:字典、字节序列或文件,Request的内容

json:JSON格式的数据,Request的内容

**kwargs:包括11个控制访问控制参数(params,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(5)requests.put()介绍

参数:requests.put(url, data=None,**kwargs)

url:拟更新页面的url连接

data:字典、字节序列或文件,Request的内容

**kwargs:包括12个控制访问控制参数(params,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(6)requests.patch()介绍

参数:requests.patch(url, data=None,**kwargs)

url:拟更新页面的url连接

data:字典、字节序列或文件,Request的内容

**kwargs:包括12个控制访问控制参数(params,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

(7)requests.delete()介绍

url:拟删除页面的url链接

*kwargs:**kwargs:包括13个控制访问控制参数(params,data,json,headers,cookies,auth,files,timeout,proxies,allow_redirects,stream,verify,cert)

2.Requst和Response---------requests库的两个重要对象

(1)Response对象的属性

r.status_code:HTTP请求的放回状态,200表示连接成功,404(非200)表示失败

r.headers:HTTP响应内容的字符串形式,即url对应的头部内容

r.text:HTTP响应内容的字符串形式,即url对应的页面内容

r.encoding:从HTTP header中猜测相应内容的编码形式(如果header中不存在charset,则认为编码为ISO-8859-1)

r.apparent_encoding:从内容中分析出的相应内容编码形式(备选编码方式),比r.encoding正确。

r.content:HTTP相应内容的二进制形式

r.raise_for_status():如果不是200,产生异常requests.HTTPError

3.requests库中的异常

requests.ConnectionError

requests.HTTPError

requests.URLRequired

requests.TooManyRedirects

requests.ConnectTimeout

requests.Timeout

4.爬去页面的通用代码框架

import requests

def  getHTMLTxet(url):

    try:

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

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

        r.encoding = r.apparent_encoding

        return r.text

    except:

        return "产生异常 "

if __name__  == "__main__":

    url = "http://www.baidu..con"

    print(getHTMLText(url))

5.HTTP协议对资源的操作(每个操作与requests的同名方法一致)

GET:请求获取url位置的资源

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

POST:请求向ul位置的资源后附加新的数据

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

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

DELETE:请求删除url位置存储的资源

猜你喜欢

转载自blog.csdn.net/A_road_broad/article/details/82950901