python检查接口返回数据是否为空

主要用来检查接口返回的url是否为空,APP是音乐类APP,如果没有url则无法播放

使用了requests,json,jsonpath 模块

# /bin/python3
# __author__ = lixj
# date = 18.9.5
# this is test fm list for url is null

import requests
import json
import jsonpath


# get请求
def get(i):
	i = str(i)
	url = 'https://www.buyao.tv/appapi/by_radiolist.php?appkey=BYMUSICOFFVN0DtKGcebowgEPLtASJfBBn6iOTQ&ac=list2018&ordering=1&userid=3&page='+i
	print(url)
	get_url = requests.get(url = url)
	return get_url.text


# 循环请求
def while_url (input_number,list_null):
	for while_i in range (0,input_number ):
		while_jieguo = get(while_i)
		#print('this is jieguo :%s' %while_jieguo)
		json_jieguo = json.loads(while_jieguo)
		#print('this is json :')
		#print( json_jieguo )
		list_id = jsonpath_id ( json_jieguo )
		
		#判断是否有返回数据,如果没有id则退出循环
		if list_id is False:
			print('len(id) is :%s'%list_id)
			print('******************************************************************************')
			print('all page is over')
			print('*********************************************')
			break
		else:
			list_url = jsonpath_url ( json_jieguo )
			list_title = jsonpath_title (json_jieguo)
			list_id_len = len(list_id)
			for x in range(0,list_id_len):
				print('id is :%s'%list_id[x])
				print('title is :%s'%list_title[x])
				print('url is %s :'%list_url[x])
				if len(list_url[x]) == 0:
					list_null.append(list_id[x])
	return list_null
		

# 查找id
def jsonpath_id(text):
	id_list = jsonpath.jsonpath(text,expr = '$.by_item..id')
	return id_list


#
def jsonpath_title(text):
	title_list = jsonpath.jsonpath(text,expr = '$.by_item..title')
	return title_list


# 查找url
def jsonpath_url(text):
	url_list = jsonpath.jsonpath(text,expr = '$.by_item..url')
	return url_list



if __name__ == '__main__':
	list_null = []	
	input_number = int(input('please input number :'))
	list_null_jieguo = while_url(input_number,list_null)
	print('this is null id :%s'%list_null_jieguo)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值