用户:
冷鱼闲风查看:3 回复:10 评论:3 创建时间:2020-05-23T17:54:07
【作品展示】

【作品介绍】
输入用户id,就可以查看到用户的全部作品的赞,然后就可以对比了!哪项高哪项低一目了然哦!
【作品源代码】
# 导入模块
import matplotlib.pyplot as plt
import easygui as g
import requests
import json
ID = g.enterbox(msg="请输入编程猫用户的ID:", title="ID获取")
if True:
# 设置响应头,防止被拦截!
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'}
# 获取编程猫个人全部JSON
r = requests.get(
'https://api.codemao.cn/api/user/works/published?user_id='+ID+'?limit=200', headers=headers)
r.encoding = 'utf-8'
rrr = r.text
r = r.text
# 以上是把界面里面的JSON提取出来,方便下面的调用!
r = json.loads(r)
name = []
idd=[]
zan=[]
maxzan=0
zpname = (r['data']['works'][0]['nickname'])
for i in range(int(rrr.count('preview'))):
name.append(r['data']['works'][i]['name'])
idd.append(r['data']['works'][i]['work_id'])
i += 1
for j in range(int(rrr.count('preview'))):
# 获取编程猫个人作品的赞JSON
r = requests.get(
'https://api.codemao.cn/web/works/'+str(idd[j]), headers=headers)
r.encoding = 'utf-8'
r = r.text
r = json.loads(r)
zan.append(r['praise_times'])
if maxzan < r['praise_times']:
maxzan = r['praise_times']
j += 1
# 导入绘图模块
plt.figure(figsize=(16, 7))
#构建数据
jan_sales = zan
# 中文乱码的处理
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = name
#第一个参数是x轴,第二参数时y轴数据,第三个参数是线的颜色,第二个参数是线条的粗细
plt.plot(x, jan_sales, 'r', lw=4) # 4 line w
# 添加标题
plt.title('编程猫用户:'+zpname +" 的全部作品赞对比" )
plt.ylim([0, int(maxzan)+80])
# 为每个点添加数值标签
for x, y in enumerate(jan_sales):
plt.text(x, y+10, '%s' % y, ha='center')
# 显示图形
plt.show()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn