62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
import requests
|
||
from requests import exceptions
|
||
|
||
# 消除ssl告警
|
||
requests.packages.urllib3.disable_warnings()
|
||
|
||
tokenFile = open('accessToken', encoding = "utf-8")
|
||
token = tokenFile.read()
|
||
tokenFile.close()
|
||
|
||
headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json', 'User-Agent': 'Hiiragi/bangumi-mail-notification' }
|
||
|
||
def fetchSubjectInfo(subject_name):
|
||
result = {
|
||
'status': False,
|
||
'data': None,
|
||
'message': ''
|
||
}
|
||
|
||
try:
|
||
response = requests.get(url=f'https://api.bgm.tv/search/subject/{subject_name}?type=2&responseGroup=medium', verify=False, headers=headers)
|
||
except exceptions.Timeout as e:
|
||
result['message'] = '番剧信息请求超时:' + str(e.message)
|
||
except exceptions.HTTPError as e:
|
||
result['message'] = '番剧信息http请求错误:' + str(e.message)
|
||
else:
|
||
if response.status_code == 200:
|
||
resJson = response.json()
|
||
if resJson.get('list') is not None:
|
||
result['data'] = resJson.get('list')[0]
|
||
result['status'] = True
|
||
else:
|
||
result['message'] = '番剧信息请求错误:' + str(response.status_code) + ',' + str(response.reason)
|
||
|
||
return result
|
||
|
||
def fetchEpisodeInfo(subject_id, episodeNo):
|
||
result = {
|
||
'status': False,
|
||
'data': None,
|
||
'message': ''
|
||
}
|
||
|
||
try:
|
||
response = requests.get(url=f'https://api.bgm.tv/v0/episodes?subject_id={subject_id}', verify=False, headers=headers)
|
||
except exceptions.Timeout as e:
|
||
result['message'] = '剧集信息请求超时:' + str(e.message)
|
||
except exceptions.HTTPError as e:
|
||
result['message'] = '剧集信息http请求错误:' + str(e.message)
|
||
else:
|
||
if response.status_code == 200:
|
||
resJson = response.json()
|
||
if resJson.get('data') is not None:
|
||
for d in resJson.get('data'):
|
||
if d.get('ep') == int(episodeNo):
|
||
result['data'] = d
|
||
result['status'] = True
|
||
else:
|
||
result['message'] = '剧集信息请求错误:' + str(response.status_code) + ',' + str(response.reason)
|
||
|
||
return result
|