python爬虫学习第五天

来源:互联网 发布:ping网络测试 编辑:程序博客网 时间:2024/05/16 11:22

今天学习了urllib.parse这个模块定义了许多处理URL的标准接口,主要是对网页的URL进行拆分、合并

这部分的功能本身用起来比较简单,但需要对URL的结构有一定的理解才能很好的看懂和使用。

书上介绍的函数有:
urllib.parse.urlparse()//分析一个URL的成分,可以把一个URL拆分成最多六个部分
urllib.parse.urlunparse()//输入参数必须是六个,可以把这六个参数合并成一个完整的URL
urllib.parse.urlsplit()//原文介绍:

这个和urlparse()方法非常相似,只不过它不会单独解析parameters这一部分,只返回五个结果。上面例子中的parameters会合并到path中。

urllib.parse.urlunsplit()//原文介绍:

与urlunparse()类似,也是将链接的各个部分组合成完整链接的方法,传入的也是一个可迭代对象。 例如list、tuple等等,唯一的区别是,长度必须为5。
此外还有另外两个方法urllib.parse.urljoin()与urllib.parse.urlencode()//书中介绍的不是很多

练习1 urlparse

# from urllib.parse import urlparse# result = urlparse('http://www.baidu.com/index.html;user?id=5#comment')# print(type(result))# print(result)

练习2 urlparse scheme参数

# from urllib.parse import urlparse# result = urlparse('www.baidu.com/index.html;user?id=5#comment',scheme='https')# print(result)# result1 = urlparse('http://www.baidu.com/index.html;user?id=5#comment',scheme='https')# print(result1)

练习3 urlparse的返回值是元组,可用数组式操作也可用类属性式的操作

# from urllib.parse import urlparse# result = urlparse('http://www.baidu.com/index.html#comment',allow_fragments=False)# print(result.scheme)# print(result[0])# print(result[1])# print(result.netloc)

练习4 urlunparse

# from urllib.parse import urlunparse# data = ['https','www.baidu.com','index.html','user', 'a=6', 'comment']# print(urlunparse(data))

练习5 urlsplit 切分url

# from urllib.parse import urlsplit# result = urlsplit('http://www.baidu.com/index.html;user?id=5#comment')# print(result)# print(result[0])# print(result[1])# print(result[2])# print(result[3])# print(result[4])

练习6 urlunsplit

# from urllib.parse import urlunsplit# data = ['http', 'www.baidu.com', 'index.html', 'a=6', 'comment']# print(urlunsplit(data))