import requests
import json
import prettytable as pt
url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=10&w=周杰伦'
resp = requests.get(url = url)
json_str = resp.text
json_dict = json.loads(json_str[9:-1])
print(json_dict)
song_list = json_dict['data']['song']['list']
tb = pt.PrettyTable()
tb.field_names = ['序号','歌名','歌手','专辑','歌曲id']
i = 0
for song in song_list:
songmid = song['songmid']
songname = song['songname']
singer = song['singer'][0]['name']
albumname = song['albumname']
tb.add_row([i,songname,singer,albumname,songmid])
i+=1
# 以上是为了制作表(表名:tb),
# 打印出tb 有10行5列
print(tb)
# 将tb的第0行转化成字符串(用prettytable自带方法get_string(),原本是用来找某列的,现在全部找出fields=[' ']))
a = tb[0].get_string(fields=[])
# 将找出的某行进行切割转化成列表
b =a.split("|")
# 这里的11是由(列数=5)+(单元格所在列数)+1而来 看你需要.
# 例:序号 名字 id
0 h 1
1 y 2
# 找出单元格y==> name = b[3+2+1=6].strip()
# 注:必须赋值变量
id = b[11].strip()
print(id)