zoukankan      html  css  js  c++  java
  • Python笔记(十三):urllib模块

    (一)      URL地址

    URL地址组件

    URL组件

    说明

    scheme

    网络协议或下载方案

    net_loc

    服务器所在地(也许含有用户信息)

    path

    使用(/)分割的文件或CGI应用的路径

    params

    可选参数

    query

    连接符(&)分割的一系列键值对

    fragment

    指定文档内特定锚的部分

    net_loc组件

    user:password@host:port

    组件

    说明

    user

    用户名或登录

    password

    用户密码

    host

    运行web服务器的计算机名称或地址(必需)

    port

    端口号(如果不是默认的80)

     

    (二)      urllib

        这里主要说明urllib.request和urllib.parse.

    (三)      urllib.request

    urllib.request

    组件

    说明

    urlopen(url,data=None)

    打开URL链接,并返回一个文件类型对象,就像open用二进制只读方式在本地打开了一个文件一样。

    url:可以是url字符串,也可以是请求对象

    data:url是post请求时,可以指定要传的数据

    urlretrieve(url,filename=None)

    下载url中的文件

    filename:文件名及路径(没有指定路径则存放到当前工作目录下)

    urlopen对象方法

    组件

    说明

    read()

    读取所有数据

    readline()

    读取一行数据

    readlines()

    读取所有行,作为列表返回

    fileno()

    返回文件句柄

    close()

    关闭url连接(close及上面4个方法和open的同名方法是一样的)

    info()

    返回MIME(多目标因特网邮件扩展)头文件。这个头文件通知浏览器返回的文件类型、以及可用哪类应用程序打开。

    geturl()

    返回真正的url(例如如果出现重定向,就可以从最终打开的文件中获得真正的url)

    getcode()

    返回HTTP状态码


    1
    import urllib.request 2 url = 'https://tieba.baidu.com/p/5475267611' 3 #打开url(就像用open二进制只读方式打开一个文件一样),使用read读取所有数据 4 html = urllib.request.urlopen(url).read() 5 print(type(html)) 6 7 url_file = 'https://imgsa.baidu.com/forum/w%3D580/sign=99114e38abec08fa260013af69ef3d4d/e549b13533fa828bc80c7764f61f4134960a5a85.jpg' 8 #下载url中的文件并保存 9 urllib.request.urlretrieve(url_file,'C:Temp\1.jpg') 10 11 #返回MIEM头文件 12 html_info = urllib.request.urlopen(url).info() 13 print(html_info)

    (四)      urlib.parse

    urlib.parse

    函数

    说明

    urlparse(urlstr)

    将url解析为一个元组(scheme='', netloc='', path='', params='', query='', fragment='')

    urlunparse(urltup)

    和urlparse相反,将url组件(一个元组)拼接为完整的url

    urljoin(base,url)

    将base的根域名和url拼接为一个完整的url

    base:函数会自动截取net_loc及前面的所有内容


    1
    import urllib.parse 2 3 url = 'https://www.cnblogs.com/cate/python/' 4 newurl = '/cate/ruby/' 5 #将url解析为一个元组(scheme='', netloc='', path='', params='', query='', fragment='') 6 urlpar = urllib.parse.urlparse(url) 7 print('urlparse示例:',urlpar) 8 #和urlparse刚好相反,将元组(scheme='', netloc='', path='', params='', query='', fragment='')拼接为完整的url 9 urlunp = urllib.parse.urlunparse(urlpar) 10 print('urlunparse示例:',urlunp) 11 #将url netloc及前面部分的内容与newurl连接起来 12 url_ruby = urllib.parse.urljoin(url,newurl) 13 print('urljoin示例:',url_ruby)

  • 相关阅读:
    Python字典
    Python集合
    Hungray匈牙利算法
    异常捕获模块,throw, try, catch, finally
    《加德纳艺术通史》罗杰克-劳利
    《高效休息法》久贺谷亮
    梯度检验 Gradient check,bias correction, Exponentially Weighted Averages
    方差与偏差,bias vs variance
    大数定理,中心极限定理以及一些常见分布
    聚类-均值漂移
  • 原文地址:https://www.cnblogs.com/simple-free/p/8966795.html
Copyright © 2011-2022 走看看