栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

urllib.parse模块

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

urllib.parse模块

不同的语言都有它的编码方式,美国 ascii编码, 欧洲iso-8859-1, 中国是gbk, 统一使用utf-8。
浏览器请求url时,浏览器会对url进行一个编码,除了英文、数字和部分符号,其他全部百分号加十六进制表现形式。
我们使用爬虫访问一些服务器网站时,通常需将相应的汉字关键词编码,需要使用urllib.parse模块。
urllib 网络模块向一个携带中文网址发请求,会报错

解决方法:把中文处理成%+十六进制的样式
如:使用百度搜索 中国 ,通过解析可以得到其url。方法有两种。 第一种方法 对字典

使用**urlencode()**方法

import urllib.request
# res = urllib.request.urlopen(url1)

r = {'wd': '中国'}
result = urllib.parse.urlencode(r)
print(result)
url1 = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&'+result
print(url1)
第二种方法 对字符串

使用**quote()**方法

import urllib.request

r = '中国'
result = urllib.parse.quote(r)
print(result)
url2 = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd='+result
print(url2)

输出结果:

%E4%B8%AD%E5%9B%BD
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E4%B8%AD%E5%9B%BD

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号