Python3 urllib使用说明

本文介绍了如何使用Python的urllib库进行URL编码与解析。详细解释了urlencode与parse_qs函数的功能,并展示了如何调整编码参数来满足不同的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • urllib.parse.urlencode(query)

    将query字典转换为url路径中的查询字符串

下面是一个实例

#!/usr/bin/env python3
#urlencode 测试
from urllib import parse
#定义要转化的字典数据
qdict = {'age':34,'grils':('lili','tingting'),'name':'han p$'}
print(parse.urlencode(qdict))
#result:
#age=34&grils=%28%27lili%27%2C+%27tingting%27%29&name=han+p%24

#怎么让两个女朋友分开呢
print(parse.urlencode(qdict,True))

#result
#age=34&grils=lili&grils=tingting&name=han+p%24

#怎么让name里边的$不要编码呢
print(parse.urlencode(qdict,True,'$'))

#result
#age=34&grils=lili&grils=tingting&name=han+p$

#怎么让空格不编码成+而编译成%20呢
print(parse.urlencode(qdict,True,'$',quote_via=parse.quote))
#由于前面还有两个位置参数所以使用关键字参数
#result age=34&grils=lili&grils=tingting&name=han%20p$

输出

age=34&grils=%28%27lili%27%2C+%27tingting%27%29&name=han+p%24
age=34&grils=lili&grils=tingting&name=han+p%24
age=34&grils=lili&grils=tingting&name=han+p$
age=34&grils=lili&grils=tingting&name=han%20p$
  • urllib.parse.parse_qs(qs)

    将qs查询字符串格式数据转换为python的字典 

    字典键是唯一的查询变量名且值是每个名称的值列表。 

  • urllib.request.urlopen(url, data=None)

        发送http请求,如果data为None,发送GET请求,如果data不为None,发送POST请求

        返回response响应对象,可以通过read()读取响应体数据,需要注意读取出的响应体数据为bytes类型

        举个栗子:

import urllib.request

url = 'https://www.python.org'

#req = urllib.request.Request(url)
#response = urllib.request.urlopen(req)
response = urllib.request.urlopen(url)
#暂时还不知晓两者有何区别

print(type(response))

'''`
 运行: <class 'http.client.HTTPResponse'>
   通过输出结果可以发现它是一个HTTPResposne类型的对象,它主要包含的方法有read()、
readinto()、getheader(name)、getheaders()、fileno()等函数和msg、version、
status、reason、debuglevel、closed等属性。
   例如response.read()就可以得到返回的网页内容,response.status就可以得到返
回结果的状态码,如200代表请求成功,404代表网页未找到等。
'''
`
html = response.read().decode('utf-8')

print(html)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值