zoukankan      html  css  js  c++  java
  • 网页获取

    网页获取一般使用requests库

    requests库

    1、定义:requests库是个简洁而且简单的处理HTTP请求的第三方库。

    2、requests库中的网页请求函数:

    函数 描述

    get(url,[,timeout = n])

    对应HTTP的GET方式,获取网页的最常用的方法,可增加timeout=n参数,设定每次请求超时时间为n秒
    post(url,data = {'key':'value'}) 对应HTTP的POST方式,其中字典用于传递客户数据
    delete(url) 对应HTTP的DELETE方式
    head(url) 对应HTTP的HEAD方式
    options(url) 对应HTTP的OPTIONS方式
    put(url,data = {'key':'value'}) 对应HTTP的PUT方式,其中字典用于传递客户数据

    注:get()是获取网页的最常用的方法,在调用requests.get()函数后,返回的网页内容会保存为一个Response对象,其中,get()函数的参数url必须链接采用HTTP或HTTPS方式访问

    3、Response对象的属性:

    属性 描述
    status_code HTTP请求的返回状态,整数,200表连接成功,404表失败
    text HTTP响应内容的字符串形式,即,也是url对应的页面内容
    encoding HTTP响应内容的编码形式
    content HTTP响应内容的二进制形式

    例1:

     4、Response对象的方法:

    方法 描述
    json() 如果HTTP响应内容包含json格式数据,该方法解析JSON数据
    raise_for_status() 如果不是200,该方法就会产生异常

    5、网页获取

    import requests
    def gethtml(url):
        try:
            r = requests.get(url,timeout = 30)
            r.raise_for_status()
            r.encoding = 'utf-8'
            return r.text
        except:
            return ""
    url = "http://www.baidu.com"
    print(gethtml(url))
    

      结果如下:

  • 相关阅读:
    mysql 注意事项 PreparedStatement 对比 statement
    Dbutils commons-dbutils-1.3
    C3P0 mysql 5.7
    servlet-应用mysql-1
    javabean 用integer 而不是int
    servlet-1
    servlet 路径 编码 问题
    mac tomcat 9.0
    case end 的用法
    自定义抛出异常
  • 原文地址:https://www.cnblogs.com/deng11/p/12863994.html
Copyright © 2011-2022 走看看