zoukankan      html  css  js  c++  java
  • urllib模块 (一)

    需要下列语句才能使用urlopen

    from urllib.request import urlopen

    函数参数(使用dir(urlopen)查看)

    urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

    url, 网址(必须http://  开头) 或者 request返回的对象
    data=None, 类型是字典。 如果没有需要可以不写。参数data参数不为空的时候,表示以post方式提交到url的数据(提交数据的两种方式:post与get),Post的数据必须是bytes或者iterable of bytes,不能是str
    timeout=<object object at 0x0000016C080FB290> 网络超时
    , * , 不知道什么意思
    cafile=None,
    capath=None,
    可选cafile 和 capath参数指定一套可信的CAHTTPS请求证书。
    cafile应该指向一个文件含一束CA证书,
    而capath应该指向目录哈希的证书文件。
    cadefault=False,* cadefault *参数被忽略。
    context=None 如果*context*是指定的,它必须是一个ssl.sslcontext实例描述各种SSL选项。

    函数返回值 是 http.client.HTTPResponse类型  一个类文件对象

    它提供了如下常用方法: 使用dir()查看详情
    read() , readline() , readlines() , fileno() , close()
    :这些方法的使用方式与文件对象完全一样;
    info()
    :返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息
    getcode()
    :返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到;
    geturl()
    :返回请求的url;

    也可以这样做

    使用request()来包装请求,再通过urlopen()获取页面。

    urllib.request.Request(url, data=None, headers={}, method=None)

    headers 类型是字典,例如

    headers = {
         'User-Agent': r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      
    r'Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3', #浏览器的User-Agent

                       #这个头部可以携带如下几条信息:浏览器名和版本号、操作系统名和版本号、默认语言
         'Referer': r'http://www.lagou.com/zhaopin/Python/?labelWords=label',
       #目标网站域名           

                     #可以用来防止盗链,有一些网站图片显示来源http://***.c,就是检查Referer来鉴定的

         'Connection': 'keep-alive' #表示连接状态,记录Session的状态。
     }

     

  • 相关阅读:
    Ubuntu下Geary安装
    (1)html初步--表格的使用
    MYSQL笔记
    三,springboot集成mybatis
    一台服务部署多个tomcat注意事项
    Apache和Tomcat整合(一个Apache 不同域名处理多个不同业务)
    linux 安装 apache
    linux笔记
    关联查询一张小表。对性能有影响吗(mysql)
    关于mysql的临时表并行的问题
  • 原文地址:https://www.cnblogs.com/Sky-Aces/p/8489114.html
Copyright © 2011-2022 走看看