安装 Requests
要安装 Requests,只要在你的终端中运行这个简单命令即可
pip install requests
出现Successfully installed,即表示成功安装。
发送请求
使用 Requests 发送网络请求非常简单。
import requests #导入Requests库
r = requests.get(url) #使用get方法发送请求,返回包含网页数据的Response并存储到Response对象r中
Requests库的七个主要方法
requests.request() 构造一个请求,支持以下各种方法
requests.get() 获取html的主要方法
requests.head() 获取html头部信息的主要方法
requests.post() 向html网页提交post请求的方法
requests.put() 向html网页提交put请求的方法
requests.patch() 向html提交局部修改的请求
requests.delete() 向html提交删除请求
r = requests.post('http://httpbin.org/post', data = {'key':'value'})
r = requests.put('http://httpbin.org/put', data = {'key':'value'})
r = requests.delete('http://httpbin.org/delete')
r = requests.head('http://httpbin.org/get')
r = requests.options('http://httpbin.org/get')
Response对象的属性:
- r.status_code:http请求的返回状态,200表示连接成功(阅读HTTP状态码,了解各状态码含义)
- r.text:返回对象的文本内容
- r.content:猜测返回对象的二进制形式
- r.encoding:分析返回对象的编码方式
- r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式)
爬取网页通用框架
import requests
#定义函数
def getHTMLText(url):
try:
r = requests.get(url,timeout=20) #设置超时
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except: #异常处理
return "产生异常"
if __name__ == '__main__':
url = "http://www.baidu.com"
print(getHTMLText(url)) #调用函数