requests库的安装与使用

一、Mac平台安装requests库

  在终端中直接执行如下命令即可(前提是已经安装好python):

$ pip install requests

  执行命令后会出现如下图所示的安装信息

image.png

  安装好之后可以在终端中依次执行以下代码进行验证是否安装成功:

$ python
$ import requests
$ r = requests.get('http://www.baidu.com')
$ r.status_code
$ r.text

  执行命令后的结果如下图所示:

image.png

二、request库用法介绍

1、HTTP协议

  HTTP(Hypertext Transfer Protocol),即超文本传输协议。HTTP URL实例:

   http://www.baidu.com
   http://14.215.177.39

  URL是通过HTTP协议存取资源的Internet路径,一个URL对应于网上的一个唯一的数据资源。HTTP协议对资源的操作如下表所示:

方法 说明
GET 请求获取URL位置的资源
HEAD 请求获取URL位置资源的相应消息报告,即获得该资源的头部信息
POST 请求向URL位置的资源后附加新的数据
PUT 请求向URL位置存储一个资源,覆盖原URL位置的资源
PATCH 请求局部更新URL位置的资源,即局部替换
DELETE 请求删除URL位置存储的资源

  六种方法中的前两个是通过网络访问URL位置处的资源(“取”),另外四个是用户对URL的资源进行操作(“存”)。

2、requests库的主要方法

  requests库的七个主要方法如下表所示,其中第一个是最基本的方法,其余六个是对第一个方法的封装,对于爬虫而言最常用的是下表中第2~4行的方法,即get()、head()和post()

用法 说明
requests.request() 构造一个请求,支撑以下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET请求
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD请求
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST请求
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT请求
requests.patch() 向HTML网页提交局部修改的请求,对应于HTTP的patch请求
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE请求

&emsp: requests库的相关参数介绍

1) params向提交的url中添加参数
2 ) **kwargs参数(12个访问控制参数)

data : 字典、字节序列或文件对象,作为Request的内容
json : JSON格式的数据,作为Request的内容
headers : 字典,HTTP定制头
cookies : 字典或CookieJar,Request中的cookie
auth : 元组,支持HTTP认证功能
files : 字典类型,传输文件
timeout : 设定超时时间,秒为单位
proxies : 字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects : True/False,默认为True,重定向开关
stream : True/False,默认为True,获取内容立即下载开关
verify : True/False,默认为True,认证SSL证书开关
cert : 本地SSL证书路径

>>> kv = {'key1':'value1', 'key2':'value2'}
>>> r = requests.request('GET', 'http://python123.io/ws', params=kv}
>>> print(r.url)
#http://python123.io/ws?key1=value1&key2=value2

3、通用代码框架

  利用python的try except结构

url='待爬取网站的url链接'
try:
    r = requests.get(url)
    r.raise_for_status()     # 如果返回的状态码不是200,即获取页面失败,则抛出异常
    r.encoding = r.apparent_coding
    return r.text
except:
    return '产生异常'

推荐阅读更多精彩内容

  • 上一篇:8.Urllib库基本使用下一篇:10.正则表达式基础 requests是python实现的最简单易用的H...
    在努力中阅读 1,272评论 2 6
  • requests(爬虫系列之一) 由于最近工作中,与同事对接模拟手机浏览器进行广告模拟跳转。又一次接触用到爬虫的知...
    若与阅读 12,689评论 6 60
  • Request库安装方法 Request官网 使用管理员权限启动 command控制台(win+X 命令提示符(管...
    天道酬勤_FUN阅读 15,012评论 1 27
  • 本文为译文,原文链接 python-requests-library-guide本人博客: 编程禅师 reques...
    代码与艺术阅读 364评论 0 2
  • 1.1 Requests库方法介绍 requests.request() : 构造一个请求,支持下面方法(其它方法...
    sszhang阅读 55评论 0 0