美文网首页
Requests库快速上手

Requests库快速上手

作者: YAOPRINCESS | 来源:发表于2020-04-27 10:38 被阅读0次

Requests库

七种方法

  • requests.request():构造一个请求,支撑以下各方法的基础方法
  • requests.get():获取HTML网页的主要方法,对应于HTTP的GET
  • requests.head():获取网页头信息
  • requests.post()
  • requests.put()
  • requests.patch()
  • requests.delete()

以上6个方法都是调用request方法来实现的

r=requests.get(url)

  • 构造一个向服务器请求资源的Request对象
  • 返回一个包含服务器资源的Response对象

requests.get(url,params=None,**kwargs)

  • url
  • params:url中的额外参数,字典或字节流格式,可选
  • **kwargs:12各控制访问的参数

Response对象的属性

  • r.status_code:HTTP请求的返回状态,200代表成功,404代表失败

  • r.txt:HTTP响应内容的字符串形式

  • r.encoding:从header中猜测的响应内容编码方式

    r.encoding='utf-8'

    如果header中不存在chartset,则认为编码为ISO-8859-1

  • r.apparent_encoding:从内容中分析出的响应内容编码方式

    这个比encoding更加准确

  • r.content:HTTP响应内容的二进制形式

六种异常

  • requests.ConnectionError
  • requests.HTTPError
  • requests.URLRequired
  • requests.TooManyRedirects
  • requests.ConnectionTimeout
  • requests.Timeout

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="https://itsapp.bjut.edu.cn/uc/wap/login?redirect=https%3A%2F%2Fitsapp.bjut.edu.cn%2Fncov%2Fwap%2Fdefault%2Findex"
    print(getHTMLText(url))

相关文章

网友评论

      本文标题:Requests库快速上手

      本文链接:https://www.haomeiwen.com/subject/dotywhtx.html