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)

猜你喜欢

转载自blog.csdn.net/lixj_qi/article/details/82455399