urllib库
- urlopen函数
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) 1. url 参数:目标资源在网路中的位置。可以是一个表示URL的字符串(如:http://www.baidu.com/);也可以是一个urllib.request对象,详细介绍请跳转 2. data参数:data用来指明发往服务器请求中的额外的参数信息(如:在线翻译,在线答题等提交的内容),data默认是None,此时以GET方式发送请求;当用户给出data参数的时候,改为POST方式发送请求。 3. timeout:设置网站的访问超时时间 4. cafile、capath、cadefault 参数:用于实现可信任的CA证书的HTTP请求。(基本上很少用) 5. context参数:实现SSL加密传输。(基本上很少用)
- urlretriieve函数
urlretrieve(url, filename=None, reporthook=None, data=None) 参数url:下载链接地址 参数filename:指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。) 参数reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。 参数data:指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头from urllib import request request.urlretrieve('http://www.baidu.com/','baidu.html') # 下载网页 request.urlretrieve('https://img1.baidu.com/it/u=256072866,3858595205&fm=26&fmt=auto','baidu.jpg') # 下载图片
- 参数编码和解码函数
from urllib import parse data = {'name':'张三','age':23} qs = parse.urlencode(data) # 编码,将键值对转换成字符串 print(qs) # 结果:name=%E5%BC%A0%E4%B8%89&age=23 # 解码 # parse_qs 返回字典 # parse_qsl 返回列表 print(parse.parse_qs(qs)) # 结果:{'name': ['张三'], 'age': ['23']} print(parse.parse_qsl(qs)) # 结果:[('name', '张三'), ('age', '23')]
- 字符串编码和解码
s = '张三' print(parse.quote(s)) # 只对一个字符串进行urlencode转换 print(parse.unquote(s)) # 解码
- urlparse和urlsplit函数
urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片段。 urlparse.urlsplit 和urlparse差不多,将url分为5部分,返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片段。
posted on 2021-10-18 21:39 PythonBaby 阅读(51) 评论(0) 收藏 举报
浙公网安备 33010602011771号