dr_py/py/爱奇艺筛选.py
2023-04-23 21:04:12 +08:00

122 lines
3.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File : 爱奇艺筛选.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/9/12
import json
import requests
from pprint import pprint
cates = '1&2&3&4&6&5&16'.split('&')
urls = [f'https://pcw-api.iqiyi.com/search/category/categoryinfo?brand=IQIYI&channel_id={cate}&include_knowledge_content_type=&locale=zh' for cate in cates]
print(urls)
headers = {'user-agent':'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36'}
data = [{
"id": "mode",
"name": "综合排序",
"child": [{
"name": "热播榜",
"id": 11
}, {
"name": "好评榜",
"id": 8
}, {
"name": "新上线",
"id": 4
}]
},
{
"id": "year",
"name": "全部年份",
"child": [{
"name": "2022",
"id": 2022
}, {
"name": "2021",
"id": 2021
}, {
"name": "2020",
"id": 2020
}, {
"name": "2019",
"id": 2019
}, {
"name": "2018",
"id": 2018
}, {
"name": "2017",
"id": 2017
}, {
"name": "2016-2011",
"id": "2011_2016"
}, {
"name": "2010-2000",
"id": "2000_2010"
}, {
"name": "90年代",
"id": "1990_1999"
}, {
"name": "80年代",
"id": "1980_1989"
}, {
"name": "更早",
"id": "1964_1979"
}]
},
{
"id": "is_purchase",
"name": "全部资费",
"child": [{
"name": "免费",
"id": 0
}, {
"name": "会员",
"id": 1
}, {
"name": "付费",
"id": 2
}]
}
]
ft_dict = {}
def getOne(url,cate):
r = requests.get(url, headers=headers)
html = r.json()
filters = html['data']
new_list = list(tuple(data))
new_list.extend(filters)
# cate_id = html['code']
cate_id = cate
ft_dict[cate_id] = []
for i in range(len(new_list)):
ft = new_list[i]
if ft['name'] == '地区':
ft['id'] = 'three_category_id'
# elif ft['name'] == '类型':
# ft['id'] = 'type'
# elif ft['name'] == '规格':
# ft['id'] = 'spec'
value = [{"n":"全部","v":""}]
vl = [{"n":i['name'],"v":i['id']} for i in ft['child']]
value.extend(vl)
ft_dict[cate_id].append({
'key':str(ft['id']),
'name':ft['name'],
'value':value
})
return ft_dict
# print(ft_dict)
for i in range(len(urls)):
url = urls[i]
cate = cates[i]
# print(getOne(urls[0]))
# print(getOne(url))
getOne(url,cate)
print(ft_dict)
with open('爱奇艺筛选.json',mode='w+',encoding='utf-8') as f:
f.write(json.dumps(ft_dict,ensure_ascii=False,indent=4))