为了获得所爬数据对应的网页url,我要将输入的城市中文名转换成对应拼音形式
如:输入“重庆”,我需要的到的是’chongqing’
过程描述:
1.重庆->[‘chong’, ‘qing’]
python的库真是好用,pypinyin和xpinyin都有这个功能,在这选用前者pypinyin
依然是用这里第一个方法安装pypinyin库:pip install pypinyin
安装成功后,导入库
""" 将城市的中文转换成拼音 """
# from pypinyin import pinyin
from pypinyin import lazy_pinyin
我选择的是导入pypinyin里面的 lazy_pinyin函数,这个函数的返回结果是不含声调的(因为我这里不需要声调,如果需要的话就应该导入pinyin函数而不是lazy_pinyin)
我将得到的中文“重庆” 存储在city变量里面
city=request.form.get('city')
这个时候如果直接写
city=lazy_pinyin(city)
print(city)
print结果是列表 [‘chong’, ‘qing’],因为lazy_pinyin函数默认返回列表,所以还要对数据进行进一步处理
2. [‘chong’, ‘qing’] ->'chongqing’
将列表转换成字符串
#由s将列表里面的数据一个一个连接起来成字符串
s = ''
for i in lazy_pinyin(city):
s += ''.join(i)
city=s
print(city)
这时候输出结果就是字符串’chongqing’
全部代码:
city=request.form.get('city')
#将城市的中文转换成拼音,便于得到要查找的网站url
#因为得到的是列表,如:重庆->['chong', 'qing'],所以数据要处理一下
s = ''
for i in lazy_pinyin(city):
s += ''.join(i)
city=s
#print(city)