urllib库
urlretrieve函数:
这个函数可以方便的将网上的一个文件保存到本地。以下代码可以非常方便的将百度的首页下载到本地:
from urllib import request
request.urlretrieve('http://wwww.baidu.com/','baidu.html')
urlencode函数:
urlencode是用来当使用代码发送请求,使用这个函数编码。urlencode可以将字典数据转换为url编码的数据。
输入:
from urllib import parse
data={'name':'张三','usename':'爬虫','age':100}
qs=parse.urlencode(data)
print(qs)
输出:
name=%E5%BC%A0%E4%B8%89&usename=%E7%88%AC%E8%99%AB&age=100
parse_qs函数:
这个函数可以将编码后的url解码。
输入:
from urllib import parse
qs="name=%E5%BC%A0%E4%B8%89&usename=%E7%88%AC%E8%99%AB&age=100"
url=parse.parse_qs(qs)
print(url)
输出:
{‘name’: [‘张三’], ‘usename’: [‘爬虫’], ‘age’: [‘100’]}
urlparse和urlsplit函数:
通过这两个函数可以将url的各个组成部分进行分割。这两个函数基本一模一样,唯一区别就是urlparse里面多了一个‘params’属性。
输入:
from urllib import parse
url='http://news.cctv.com/2019/12/17/ARTIQwxfxdh6Wi4o7Tt8aNzV191217.shtml'
result=parse.urlparse(url)
print(result)
输出:
ParseResult(scheme=‘http’, netloc=‘news.cctv.com’, path=’/2019/12/17/ARTIQwxfxdh6Wi4o7Tt8aNzV191217.shtml’, params=’’, query=’’, fragment=’’)
输入:
from urllib import parse
url='http://news.cctv.com/2019/12/17/ARTIQwxfxdh6Wi4o7Tt8aNzV191217.shtml'
result=parse.urlsplit(url)
print('scheme:',result.scheme)
print('netloc:',result.netloc)
print('query:',result.query)
输出:
scheme: http
netloc: news.cctv.com
query: