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

parse模块的使用:url的解析、合并、编码、解码

使用时需导入

from urllib import parse

urlparse():实现URL的识别和分段

url = 'https://book.qidian.com/info/1004608738?wd=123&page=20#Catalog'

url:待解析的url

scheme='':假如解析的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='book.qidian.com', path='/info/1004608738', params='',

query='wd=123&page=20', fragment='Catalog')

scheme:表示协议

netloc:域名

path:路径

params:参数

query:查询条件,一般都是get请求的url

fragment:锚点,用于直接定位页面的下拉位置,跳转到网页的指定位置

urlunparse()可以实现URL的构造

url_parmas = ('https', 'book.qidian.com', '/info/1004608738', '', 'wd=123&page=20', 'Catalog')

#components:是一个可迭代对象,长度必须为6

result = parse.urlunparse(url_parmas)

print(result)

打印结果

'https://book.qidian.com/info/1004608738?wd=123&page=20#Catalog'

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

base_url = 'https://book.qidian.com/info/1004608738?wd=123&page=20#Catalog'

sub_url = '/info/100861102'

full_url = parse.urljoin(base_url,sub_url)

print(full_url)

urlencode():将字典构形式的参数序列化为url编码后的字符串

#(常用来构造get请求和post请求的参数)k1=v1&k2=v2

parmas = {'wd':'123','page':20}

parmas_str = parse.urlencode(parmas)

print(parmas_str)

打印结果:

page=20&wd=123

parse_qs():将url编码格式的参数反序列化为字典类型

parmas_str = 'page=20&wd=123'

parmas = parse.parse_qs(parmas_str)

print(parmas)

打印结果:

{'page': ['20'], 'wd': ['123']}

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%A6'

'http://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=中国梦"

parse python函数_Python爬虫 - parse模块常用方法相关推荐

  1. parse python函数_Python之urlparse模块

    一.简介 urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, r ...

  2. python导入不在同一路径的函数_Python小课堂|模块

    Python3   模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一 ...

  3. c调用python函数_python - Linux C调用Python 函数

    1.Python脚本,名称为py_add.py def add(a=,b=): print('Function of python called!') print('a = ',a) print('b ...

  4. python机制_python 加载模块机制

    1,使用系统函数import() stringmodule = _import('string') 2,使用imp 模块 import imp stringmodule = imp.loadmodul ...

  5. beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup

    BeautifulSoup用途 BeautifulSoup 借助网页的结构和属性等特性来解析网页,可以用它来方便地从网页中提取所需信息. BeautifulSoup自动将输入文档转换为Unicode编 ...

  6. base6 python 字节_Python使用base64模块进行二进制数据编码详解

    前言 昨天团队的学妹来问关于POP3协议的问题,所以今天稍稍研究了下POP3协议的格式和Python里面的poplib.而POP服务器往回传的数据里有一部分需要用到Base64进行解码,所以就顺便看了 ...

  7. 爬虫python入门_python爬虫入门教程有哪些?适合的只有这三个

    python爬虫是现在包括以后一种很重要的获取数据的方式. 当然,也因为网络爬虫本身也很有趣,所以很多人了解过一次爬虫后,就产生了浓厚的兴趣. 但是,想学python爬虫的话,应该看什么python爬 ...

  8. python 喜马拉雅_Python爬虫入门教程14:喜马拉雅有声书音频爬取

    基本开发环境????Python 3.6 Pycharm 相关模块的使用????import requests import os 安装Python并添加到环境变量,pip安装需要的相关模块即可. 一 ...

  9. Python之urllib爬虫-request模块和parse模块详解

    文章目录 urllib request模块 访问URL Request类 其他类 parse模块 解析URL 转义URL robots.txt文件 urllib urllib是Python中用来处理U ...

最新文章

  1. Nat. Mach. Intell.| 机器学习显著降低药物组合筛选成本
  2. PHP 邮件发送系统
  3. 今日代码(200612)--数据录入(python+mysql)
  4. java 置信区间_仅从均值和标准差绘制置信区间
  5. Map.putAll方法——追加另一个Map对象到当前Map集合
  6. 简单搜索 poj1321
  7. Visual Studio中Debug和Release的区别
  8. windows使用markdown离线编写文章(可设置图床)
  9. java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?
  10. 第一章 Java代码执行流程
  11. python中关于深嵌元组转列表的小问题
  12. php的运行方式及vc6和vc9,ts和nts区别
  13. 使用linux时电脑突然蓝屏,Win7系统电脑突然蓝屏提示的解决方法
  14. Debian 7修改SSH端口并设置防火墙端口放行
  15. 【胶囊网络-CapsNet】胶囊网络-CapsNet原理
  16. 北京大学C语言学习第6天
  17. 【论文精读】 使用空间梯度和噪声分割标签(伪标签)的深度学习配准
  18. springboot项目Banner配置
  19. 【职业女性着装全攻略】_职业女性应该怎样着装
  20. ts文件编译与运行,vscode自动编译

热门文章

  1. SQLite-database disk image is malformed问题的解决
  2. 解决ADB启动问题(Failed to initialize Monitor Thread: Unable to establish loopback connection)
  3. 解决Vue的表格中,expand只有某些行需要展开的问题。
  4. 一次SocketException:Connection reset 异常排查
  5. 为什么我的Spring @Autowired字段为空?
  6. php inqude函数,Python匿名函数(lambda函数)
  7. Win11如何禁用USB端口?禁用USB端口的方法
  8. win11没有uefi如何安装 windows11跳过uefi模式的安装方法
  9. 正在修复磁盘怎么取消
  10. aidl远程服务调用Android,报错:Process 'command 'F:\Android\SDK\build-tools\29.0.0\aidl.exe''