美文网首页网络爬虫@IT·互联网
Python爬虫:HTTP协议、Requests库

Python爬虫:HTTP协议、Requests库

作者: 杜王丹 | 来源:发表于2017-06-09 15:01 被阅读91次

    HTTP协议:

    HTTP(Hypertext Transfer Protocol):即超文本传输协议。URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

    HTTP协议对资源的操作:

    Requests库提供了HTTP所有的基本请求方式。官方介绍:http://www.python-requests.org/en/master

    Requests库的6个主要方法:

    Requests库的异常:

    Requests库的两个重要对象:Request(请求)、Response(相应)。Request对象支持多种请求方法;Response对象包含服务器返回的所有信息,也包含请求的Request信息。

    Response对象的属性:

    其中,r.encoding指:如果header中不存在charset,则认为编码为ISO‐8859‐1。

    r.raise_for_status()可以直接知道r.status_code是否等于200。

    HTTP协议与Requests库对比:

    爬取网页的通用代码框架:

    try:
        r = requests.get(url,timeout = 30)
        r.raise_for_status()
        # 如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return '产生异常'
    

    例如,获取PMCAFF首页的信息:

    import requests
    
    def getHtmlText(url):
        try:
            r = requests.get(url,timeout = 30)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            return r.text
        except:
            return '产生异常'
    
    if __name__ == '__main__':
        url = 'https://www.pmcaff.com/'
        print(getHtmlText(url))
    

    相关文章

      网友评论

        本文标题:Python爬虫:HTTP协议、Requests库

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