urllib

在python2中的模块urllib, urlparse, urllib2, 以及其他内容都整合在了urllib单一包中.

  1. urllib和urllib2的内容整合在了urllib.request模块中

  2. urlparse的内容整合在了urllib.parse模块中

  3. urllib包还包括其他模块如:response, error, robotparse, 后面再学习.


python支持两种不同的模块来处理url, 一个是parse, 另一个是request.

两种模块的功能不一样, 下面会分别介绍两个模块.

parse模块

parse是包urllib下的模块, 只是用来处理url这个字符串本身, 而不负责使用这个url去联网获取资源.

parse主要提供了三个功能: urlparse(), urlunparse(), urljoin()


1. parse.urlparse()

urlparse()用来将url字符串解析成我们前面说的那些组件.

语法:

urlparse(urlstr, defProSch='', allowFrag=True)

说明:

  1. 参数1就是url字符串. 返回值一个ParseResult类型的数据

  2. defProSch默认网络协议.

  3. allowFrag 表示url中是否允许使用片段.

from urllib.parse import *

o = urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
print(o)

结果:

ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')

2. parse.urlunparse()

是把各个部分组合成url字符串.

from urllib.parse import *

o = urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
urlstr = urlunparse(o)
print(urlstr)


3. parse.urljoin()

urljoin()实现了url的连接功能.

urljoin(base, new_url, allow_fragments=True)

说明:

取得base的根路径(不包括路径中末端的文件), 然后与new_url连接起来.


from urllib.parse import *

newUrl = urljoin('http://www.cwi.nl/abc/Python.html', 'FAQ.html')
print(newUrl)

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""