请阅读Requests官方文档
Requests库的7个主要方法
一般来说,爬虫只需要掌握get()
方法 | 说明 |
---|---|
requests() | 构造一个请求,支撑以下个方法的基础方法 |
get() | 获取HTML网页的主要方法,对应于HTTP的GET |
head() | 获取HTML网页头信息的方法,对应于HTTP的HEAD |
post() | 向HTML网页提交POST请求的方法,对应于HTTP的POST |
put() | 向HTML网页提交PUT请求的方法,对应于HTTP的PUT |
patch() | 向HTML网页提交PUT请求的方法,对应于HTTP的PATCH |
delete() | 向HTML网页提交PUT请求的方法,对应于HTTP的DELETE |
Response对象的属性
- status_code:http请求的返回状态,200表示连接成功(阅读HTTP状态码,了解各状态码含义)
- text:返回对象的文本内容
- content:猜测返回对象的二进制形式
- encoding:分析返回对象的编码方式
- apparent_encoding:响应内容编码方式(备选编码方式)
使用Requests下载数据的步骤
1、导入Requests库
2、输入url
3、使用get方法
4、打印返回文本
5、抛出异常
import requests #导入Requests库
url = ' ' #输入url
r = requests.get(url, timeout=20) #使用get方法
print(r.text) #打印返回文本
print(r.raise_for_status()) #抛出异常
爬取网页通用框架
1、定义函数
2、设置超时
3、异常处理
4、调用函数
def getHTMLText(url):
try:
r = requests.get(url,timeout=20) #设置超时
# 判断连接状态,为4XX或5XX时抛出异常信息
r.raise_for_status()
# 将返回对象的编码格式设为响应内容编码方式
r.encoding = r.apparent_encoding
return r.text
except: #异常处理
return "产生异常"
if __name__ == '__main__':
url = " "
print(getHTMLText(url)) #调用函数
注意:
如果请求状态码是4XX或者5XX,可以使用 raise_for_status() 抛出异常,如果是200,则不会抛出异常