主要用来检查接口返回的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)