• python爬虫requests模块


    requests库的七个主要方法

    1. requests.requests(method, url, **kwargs)

    构造一个请求,支撑以下各方法的基础方法

            method:请求方式,对应get/put/post等七中方法;

            url:拟获取页面的url链接;

            **kwargs:控制访问的参数,共13个;

            method:请求方式

                GET:请求获取url位置的资源;

                HEAD:获得该资源的头部信息;

                POST:请求向url位置的资源后附加新的数据;

                PUT:请求向url位置存储一个资源,覆盖原url位置的资源;

                PATCH:请求局部更新url位置的资源,即改变该处资源的部分内容;

                DELETE:请求删除url位置存储的资源;

            **kwargs:控制访问的参数,均为可选

                params:字典或字节序列,作为参数增加到url中;

                data:字典,字节序列或文件对象,作为Requests的内容;

                json:Json格式的数据,作为Requests的内容;

                headers:字典,HTTP定制头;

                cookies:字典或cookiejar,Requests中的cookie;

                auth:元组,支持HTTP认证功能;

                files:字典类型,传输文件;

                timeout:设定超超时时间,秒为单位;

                proxies:字典类型,设定访问代理服务器,可以增加登记认证;

                allow_redirests:True/Flase,默认为True,重定向开关;

                stream:True/False,默认为True,获取内容立即下载开关;

                verify:True/False,默认为True,认证SSL证书开关;

                cert:本地SSL证书路径;

    2. request.get(url, params=None, **kwargs)

    获取HTML网页的主要方法,对应HTTP的GET;

            params:url中额外参数,字典或字节流格式,可选;

            **kwargs:12个控制访问参数;

    3.requests.head(url, **kwargs)

    获取HTML网页头信息方法,对应HTTP的HEAD;

            **kwarge:12个控制访问参数;

    4.requests.post(url, data=None, json=None, **kwargs)

    向HTML网页提交post请求的方法,对应HTTP的POST;

            data;字典、字节序列或文件,Requests的内容;

            json:Json格式的数据,Requests的内容;

            **kwargs:12个控制访问参数;

    5.requests.put(url, data=None, **kwargs)

    向HTML网页提交PUT请求方法,对应HTTP的PUT;

            data:字典、字节序列或文件,Requests的内容;

            **kwargs:12个控制访问参数;

    6. requests.patch(url, data=None, **kwargs)

    向HTML页面提交局部修请求,对应HTTP的PATCH;

            data:字典、字节序列或文件,Requests的内容;

            **kwagrs:12个控制访问参数;

    7. requests.delete(uel, **kwagrs)

    向HTML页面提交删除请求,对对应HTTP的DELETE;

            **kwagrs:12个访问控制的参数;

    requests库的两个重要的对象

    Response对象的属性

    1. r.status_code

      HTTP请求的返回状态,200表示链接成功,404或其他表示失败;

    2. r.text

      HTTP响应内容的字符串形式,即url对应的页面内容;

    3. r.encoding

      从HTTP header中猜测的响应内容编码方式;

      如果header中不存在charset,则认为编码为ISO-8859-1,r.text根据r.encoding显示网页内容;

    4. r.apparent_encoding    

      从内容中分析出的响应内容编码方式(备选编码方式);

    5. r.content

      HTTP响应内容的二进制形式;

    Requests库的异常

    1. requests.ConnectionError

      网络连接错误异常,如DNS查询失败,拒绝链接等;

    2. requests.HTTPError

      HTTP错误异常;

    3. requests.URLRequired

      url缺失异常;

    4.requests.TooManyRedirects

      超出最大重定向次数,产生重定向异常;

    5. requests.ConnectTimeout

      连接远程服务器超时异常;

    6. requests.Timeout

      请求url超时,产生超时异常;

    7.r.raise_for_status()

      如果不是200,产生异常requests.HTTPError;

    爬取网页的通用代码框架

    import requests
    def getHTMLText(url):
        try:
            r = requests.get(url, timeout=30)
            r.raise_for_status()
            #RU如果状态不是200,引发HTTPError异常
            r.encoding() = r.appearent_conding()
            return r.text
        except:
            return "产生异常"
    if __name__ == "__main__":
        url = "www.baidu.com"
        print(getHTMLText(url))
    
  • 相关阅读:
    容器编排系统k8s之ReplicaSet和Deployment控制器
    容器编排系统k8s之Pod生命周期、健康/就绪状态探测以及资源限制
    容器编排系统k8s之资源标签、标签选择器、资源注解
    容器编排系统k8s之Pod资源配置清单基础
    容器编排系统k8s之Kubectl工具的基础使用
    容器编排系统k8s之基础入门
    抢先看:笔者亲历的2020年中国.NET开发者大会活动纪实
    谷歌的请求索引功能恢复了
    VuePress教程之深入理解插件API
    Linux将shell脚本配置成系统服务并设置开机自启
  • 原文地址:https://www.cnblogs.com/zhichaoma/p/7633206.html
Copyright © 2020-2023  润新知