requests模块是python中原生的基于网络请求的模块,是python的一个HTTP客户端库,跟urllib,urllib2类似,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。今天,小编就介绍一下是requests模块的安装及使用方法。
一、安装
第一步:pip安装
https://pypi.org/project/pip/#files下载pip压缩文件包,最好将其下载到scripts目录下。进入到安装目录下,执行:python setup.py install
将
D:\envi\python2.7\Scripts添加到环境变量新打开一个命令行窗口,执行
pip list
第二步:requests安装命令pip install requests
二、使用:爬取百度网站内容
导入模块#导入requests模块
import requests
指定url#1:指定url
url='https://www.baidu.com/'
发起请求#2:发起请求(get方法会返回一个响应对象)
response = requests.get(url=url)
获取响应数据#3:获取响应数据
page_text = response.text
持久化存储#4:持久化存储
with open('./baidu.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('爬完了')
三:requests异常处理
异常:比如网络连接错误、http错误异常、重定向异常、请求url超时异常等等。
处理:可以利用response.raise_for_status()语句去捕捉异常,该语句在方法内部判断r.status_code是否等于200,如果不等于,则抛出异常。
爬取网页的通用代码框架:try:
response=requests.get(url)
response.raise_for_status() #如果状态不是200,则引发异常
except:
print("产生异常")
requests 会自动实现持久连接keep-alive,requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码,现代、国际化、人性化,这么好用的模块,快点学起来吧~