• python----urllib模块


    urllib

    官方文档:https://docs.python.org/3/library/urllib.html

    Py2.x:

    • Urllib
    • Urllin2

    Py3.x:

    • Urllib

    变化:

    • 在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import urllib.requesturllib.error
    • 在Pytho2.x中使用import urllib——-对应的,在Python3.x中会使用import urllib.requesturllib.errorurllib.parse
    • 在Pytho2.x中使用import urlparse——-对应的,在Python3.x中会使用import urllib.parse
    • 在Pytho2.x中使用import urlopen——-对应的,在Python3.x中会使用import urllib.request.urlopen
    • 在Pytho2.x中使用import urlencode——-对应的,在Python3.x中会使用import urllib.parse.urlencode
    • 在Pytho2.x中使用import urllib.quote——-对应的,在Python3.x中会使用import urllib.request.quote
    • 在Pytho2.x中使用cookielib.CookieJar——-对应的,在Python3.x中会使用http.CookieJar
    • 在Pytho2.x中使用urllib2.Request——-对应的,在Python3.x中会使用urllib.request.Request

    urlopen(url,data,timeout) 函数

    打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作

    1 import urllib.request
    2 req = urllib.request.urlopen('http://www.baidu.com')
    3 print(req.read())

      read() , readline() , readlines() , fileno() , close() 

      info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息。

      getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。

      geturl():返回请求的url。

    urlretrieve(url,filename,reporthook,data)函数 

    下载url定位到的html文件,不写路径filename则会被存为临时文件可以用 urllib.urlcleanup() 来清理缓存

     1 file_name = urllib.request.urlretrieve('http://www.baidu.com','%s/baidu.html'%BASE_DIR) 

    urlencode和parse_qs函数   

    参数的解码和编码函数

    1 import urllib.parse
    2 dic = {'name':'melon','age':18}
    3 data = urllib.parse.urlencode(dic)
    4 
    5 print(data)    

    urlparse和urlsplit函数

    将urlstr解析成各个组件

    1 import urllib.request
    2 import urllib.parse
    3 url = "http://www.baidu.com"
    4 parsed = urllib.parse.urlparse(url)
    5 print(parsed)
    6 #输出:ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='', fragment='')

    urljoin(baseurl,newurl,allowFrag=None)函数  

    将url的根域名和新url拼合成一个完整的url

    1 import urllib.parse
    2 url = "http://www.baidu.com"
    3 new_path = urllib.parse.urljoin(url,"index.html")
    4 print(new_path)
    5 #输出:http://www.baidu.com/index.html

    *******************************************************

  • 相关阅读:
    Pythonurllib
    Python中的假
    线上bug处理方案
    bug级别定义
    提交bug规范
    bug统一处理方案
    jsonserver
    参数默认值 (函数形参与对象数组解构)
    rest 剩余参数
    ES5常用方法
  • 原文地址:https://www.cnblogs.com/garrett0220/p/9456055.html
Copyright © 2020-2023  润新知