博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
from urllib import parse模块的使用
阅读量:5331 次
发布时间:2019-06-14

本文共 1762 字,大约阅读时间需要 5 分钟。

一、介绍

定义了url的标准接口,实现url的各种抽取

parse模块的作用:url的解析,合并,编码,解码

二、代码

方法一:urlparse

实现url的识别和分段

from urllib import parseurl = 'https://www.cnblogs.com/angelyan/'"""url:待解析的urlscheme='':假如解析的url没有协议,可以设置默认的协议,如果url有协议,设置此参数无效allow_fragments=True:是否忽略锚点,默认为True表示不忽略,为False表示忽略"""result = parse.urlparse(url=url,scheme='http',allow_fragments=True)print(result)print(result.scheme)"""(scheme='https', netloc='www.cnblogs.com', path='/angelyan/', params='', query='', fragment='')scheme:表示协议netloc:域名path:路径params:参数query:查询条件,一般都是get请求的urlfragment:锚点,用于直接定位页面的下拉位置,跳转到网页的指定位置"""

方法二:urlunparse

可以实现url的构造

url_parmas = ('https', 'www.cnblogs.com', '/angelyan/', '', 'name=maple', 'log')#components:是一个可迭代对象,长度必须为6result = parse.urlunparse(url_parmas)print(result)"""https://www.cnblogs.com/angelyan/?name=maple#log"""

方法三:urljoin

传递一个基础连接,根据基础连接可以将某一个不完整的链接拼接为一个完整链接

base_url = 'https://www.cnblogs.com'sub_url = '/angelyan/?name=maple#log'full_url = parse.urljoin(base_url,sub_url)print(full_url)"""https://www.cnblogs.com/angelyan/?name=maple#log"""

方法四:urlencode

将字典形式的参数序列化为url编码后的字符串,常用来构造get请求和post请求的参数

parmas = {    'name':'maple',    'age':18}parmas_str = parse.urlencode(parmas)print(parmas_str)"""name=maple&age=18"""parmas_str = 'name=maple&age=18'# 将url编码格式的参数反序列化为字典类型parmas = parse.parse_qs(parmas_str)print(parmas)"""{'name': ['maple'], 'age': ['18']}"""

方法五:quote

可以将中文转换为url编码格式

word = '中国梦'url = 'http://www.baidu.com/s?wd='+parse.quote(word)print(parse.quote(word))print(url)"""%E4%B8%AD%E5%9B%BD%E6%A2%A6http://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD%E6%A2%A6"""# unquote:可以将URL编码进行解码url = 'http://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD%E6%A2%A6'print(parse.unquote(url))"""http://www.baidu.com/s?wd=中国梦"""

 

转载于:https://www.cnblogs.com/angelyan/p/11265614.html

你可能感兴趣的文章
vue - 生命周期
查看>>
SQL Server用户权限详解
查看>>
Python正则表达式
查看>>
Linux进程间通信--命名管道
查看>>
UVa 10970 - Big Chocolate
查看>>
js输出
查看>>
set,env,export,set -x,set -e;
查看>>
H5多文本换行
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>
web@h,c小总结
查看>>
java编程思想笔记(一)——面向对象导论
查看>>
Data Structure 基本概念
查看>>
Ubuntu改坏sudoers后无法使用sudo的解决办法
查看>>
NEYC 2017 游记
查看>>
【BZOJ 3669】 [Noi2014]魔法森林 LCT维护动态最小生成树
查看>>
[搬运] 写给 C# 开发人员的函数式编程
查看>>
Shiro权限控制框架
查看>>
vsftpd虚拟用户【公司系统部分享】
查看>>
盒子box在网页中居中的方法
查看>>