爬虫遇到url地址中文字转码问题

本文介绍Python中URL编码与解码的方法,包括urlencode函数用于将键值对转换为URL格式,quote函数用于对单个字符串进行编码,以及unquote函数用于解码已编码的URL。

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

当url地址含有中文,或者参数有中文的时候,把这样的url作为参数传递的时候,需要把一些中文甚至'/'做一下编码转换。

所以对于一些中文或者字符,url不识别,就需要我们进行转换。

python中的urlencode与urldecode

一、urlencode

urllib库里有一个urlencode函数,它可以把key-value键值对直接转换成 我们想要的格式

举个例子

import urllib.parse

datas = {}

datas['name'] = '小张'

datas['age'] = '18?'

datas['level'] = 'Dd'

data = urllib.parse.urlencode(datas)

print(data)

 结果如下:

name=%E5%B0%8F%E5%BC%A0&age=18%3F&level=Dd

urllib还有一个quote(),是直接对一个字符串进行转换

import urllib.parse

data = '小张'

data = urllib.parse.quote(data)

print(data)

结果为:

%E5%B0%8F%E5%BC%A0

二、urldecode

有些时候url地址上的中文字已经被转码,所以我们爬取多个相同链接时需要对其传入的汉字进行转换,在urllib中有个unquote()函数对其进行转换

import urllib.parse

data = '%E5%B0%8F%E5%BC%A0'

data = urllib.parse.unquote(data)

print(data)

结果是:

小张

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从前重前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值