Requests库入门——first CSDN blog(don‘t know how to write)

来源:互联网 发布:视频慢动作软件 编辑:程序博客网 时间:2024/05/22 15:55
r = requests.get(url)

构造了两个对象

构造一个向服务器请求资源的Request对象(此处Request大小写敏感)

返回一个包含服务器资源的Response对象

requests.get完整使用方法:

requests.get(url,params=None,**kwargs)
params:url的额外参数,字典或字节流格式

**kwargs:12个控制访问的参数


get方法其实使用了request方法来封装,request库的7个方法,除了request方法,其他的都是在调用该方法

Response对象包含爬虫返回的内容


r.status_code 返回的状态码为200 则可以继续使用Response对象的其他属性

当r.encoding不能准确解析编码方式时,可以换用apparent_encoding进行更准确的解析


r.raise_for_status() 如果不是200,会产生requests.HTTPError

爬取网页的通用代码框架

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 "产生异常"
if __name__ = "__main__":
url = "http://baidu.com"
print(getHTMLText(url))


head方法:

r = requests.head("url")r.headers

用很少流量获得网络资源的概要信息

post方法:

而字符串会自动编码为data


put()方法与post类似,但会将原有数据覆盖掉