parse python函数_Python爬虫 - parse模块常用方法
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模块常用方法相关推荐
- parse python函数_Python之urlparse模块
一.简介 urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, r ...
- python导入不在同一路径的函数_Python小课堂|模块
Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一 ...
- 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 ...
- python机制_python 加载模块机制
1,使用系统函数import() stringmodule = _import('string') 2,使用imp 模块 import imp stringmodule = imp.loadmodul ...
- beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup
BeautifulSoup用途 BeautifulSoup 借助网页的结构和属性等特性来解析网页,可以用它来方便地从网页中提取所需信息. BeautifulSoup自动将输入文档转换为Unicode编 ...
- base6 python 字节_Python使用base64模块进行二进制数据编码详解
前言 昨天团队的学妹来问关于POP3协议的问题,所以今天稍稍研究了下POP3协议的格式和Python里面的poplib.而POP服务器往回传的数据里有一部分需要用到Base64进行解码,所以就顺便看了 ...
- 爬虫python入门_python爬虫入门教程有哪些?适合的只有这三个
python爬虫是现在包括以后一种很重要的获取数据的方式. 当然,也因为网络爬虫本身也很有趣,所以很多人了解过一次爬虫后,就产生了浓厚的兴趣. 但是,想学python爬虫的话,应该看什么python爬 ...
- python 喜马拉雅_Python爬虫入门教程14:喜马拉雅有声书音频爬取
基本开发环境????Python 3.6 Pycharm 相关模块的使用????import requests import os 安装Python并添加到环境变量,pip安装需要的相关模块即可. 一 ...
- Python之urllib爬虫-request模块和parse模块详解
文章目录 urllib request模块 访问URL Request类 其他类 parse模块 解析URL 转义URL robots.txt文件 urllib urllib是Python中用来处理U ...
最新文章
- Nat. Mach. Intell.| 机器学习显著降低药物组合筛选成本
- PHP 邮件发送系统
- 今日代码(200612)--数据录入(python+mysql)
- java 置信区间_仅从均值和标准差绘制置信区间
- Map.putAll方法——追加另一个Map对象到当前Map集合
- 简单搜索 poj1321
- Visual Studio中Debug和Release的区别
- windows使用markdown离线编写文章(可设置图床)
- java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?
- 第一章 Java代码执行流程
- python中关于深嵌元组转列表的小问题
- php的运行方式及vc6和vc9,ts和nts区别
- 使用linux时电脑突然蓝屏,Win7系统电脑突然蓝屏提示的解决方法
- Debian 7修改SSH端口并设置防火墙端口放行
- 【胶囊网络-CapsNet】胶囊网络-CapsNet原理
- 北京大学C语言学习第6天
- 【论文精读】 使用空间梯度和噪声分割标签(伪标签)的深度学习配准
- springboot项目Banner配置
- 【职业女性着装全攻略】_职业女性应该怎样着装
- ts文件编译与运行,vscode自动编译
热门文章
- SQLite-database disk image is malformed问题的解决
- 解决ADB启动问题(Failed to initialize Monitor Thread: Unable to establish loopback connection)
- 解决Vue的表格中,expand只有某些行需要展开的问题。
- 一次SocketException:Connection reset 异常排查
- 为什么我的Spring @Autowired字段为空?
- php inqude函数,Python匿名函数(lambda函数)
- Win11如何禁用USB端口?禁用USB端口的方法
- win11没有uefi如何安装 windows11跳过uefi模式的安装方法
- 正在修复磁盘怎么取消
- aidl远程服务调用Android,报错:Process 'command 'F:\Android\SDK\build-tools\29.0.0\aidl.exe''