美文网首页Python精选生活不易 我用python我的Python自学之路
python网络爬虫—爬取网页的通用代码框架及HTTP协议【2】

python网络爬虫—爬取网页的通用代码框架及HTTP协议【2】

作者: Modest_Proud | 来源:发表于2017-04-08 16:38 被阅读0次

    ​-Modest_Proud-

    一、爬取网页的通用代码框架

    首先,我们使用Requests库进行网页访问的时候,经常用get(),获得url的相关内容。

    由于网络连接是有风险的,所以异常处理语句很重要。

    理解爬取网页的通用代码框架

    import requests  ##加载Requests库

    def getHTMLText(url):

    ##定义getHTMLTexl函数

    try:

    r=requests.get(url,timeout=30)

    ##设定get函数参数,超时限制30s

    r.raise_for_status()

    ##如果状态不是200,引发HTMLError异常

    r.encoding="utf-8"

    ##更改编码为utf-8格式

    return r.text

    ##返回网页文本内容

    except:

    return "产生异常"

    ##返回异常提示

    if __name__=="__main__":

    ##运行模块

    url="http://www.baidu.com"

    ##给url赋值

    print(getHTMLText(url))

    ##打印函数内容

    输出结果如下图

    如果我们将url=“http://www.baidu.com"改成url="http:www.baidu.com" 会出现什么情况?

    二、理解HTTP协议

    HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。

    URL格式:http://host[:port][path]

    host:合法的Internet主机域名或IP地址

    port:端口好,缺省端口为80

    path:请求资源的路径

    HTTP URL 实例:

    http://www.baidu.com

    http://120.76.26.60:8188/xcb/login.jsp

    HTTP URL 理解:

    URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

    HTTP协议对资源的操作

    备注:PUT和PATCH同样是更新URL位置的资源,区别在于:

    PUT提交更新全部位置的资源请求,PATCH提交局部更新请求

    例:有A、B、C,我们现在需要把A改成G

    PUT:请求将A、B、C用G、B、C替换

    PATCH:请求G替换位置为A

    若用PUT提交PATCH,则会出现A、B、C—>G

    HTTP协议与Requests库方法功能对比

    Requests库的HEAD()方法

    Requests库的POST()方法

    向URL POST一个字典,自动编码为from(表单)

    向URL POST一个字符串,自动编码为data

    关注微信公众号获得最新内容

    相关文章

      网友评论

        本文标题:python网络爬虫—爬取网页的通用代码框架及HTTP协议【2】

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