上传文件至 json
This commit is contained in:
parent
8624883c65
commit
a1173332d9
1333
json/采集[zy]静态.json
Normal file
1333
json/采集[zy]静态.json
Normal file
File diff suppressed because it is too large
Load Diff
48
json/采集[密].json
Normal file
48
json/采集[密].json
Normal file
@ -0,0 +1,48 @@
|
||||
[
|
||||
{
|
||||
"name": "jk",
|
||||
"url": "https://jkunzy.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "鲨鱼",
|
||||
"url": "http://shayuzy5.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "奥斯卡",
|
||||
"url": "https://aosikazy.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "乐播",
|
||||
"url": "https://lbapi9.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "老鸭",
|
||||
"url": "https://api.apilyzy.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "森林",
|
||||
"url": "http://senlinzy2.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "阿里BB",
|
||||
"url": "https://bbckzy1.cc",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "滴滴",
|
||||
"url": "https://didizy.com",
|
||||
"parse_url": ""
|
||||
},
|
||||
{
|
||||
"name": "奶香",
|
||||
"url": "https://naixxzy.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "精品国产|精品日韩|精品综合|精品小说|精品美图"
|
||||
}
|
||||
]
|
||||
145
json/采集[密]静态.json
Normal file
145
json/采集[密]静态.json
Normal file
@ -0,0 +1,145 @@
|
||||
[
|
||||
{
|
||||
"name": "jk",
|
||||
"url": "https://jkunzy.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFQldWYC/zVOzU7CQBh8m+89OHnXBM/Gq4kmnryJDVQgUtoE9wCaFbQl1bU2oq67LH2Z/b7dvoVt1MtkfpKZsVLQbYiC4fcMiD3R4oUWQ8d7/4LxVnS6Plv5YgPHp+dnJ0cXUAcG5RVVlxT0gfgDzkXDrBqDVQpT7dRHm9Sria2Y3aZuOgCMUldqfIvaIhKp3XGMHrEvoZ5Vrgh9de+NgVrHVt75oqQghoPDzh74MKfxDfa+GoTfTRytafsMzsROLa3UlAigydKPSveu8ZqBlUOnsr/l7r7PBj5LAOfGti7HPAG34c1Zmgr/mkPN1s17qz9/AO52o6oSAQAA",
|
||||
"class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
|
||||
"cate_excludes": [
|
||||
"都市激情",
|
||||
"校园情事",
|
||||
"人妻纵情",
|
||||
"风俗伦理",
|
||||
"另类小说",
|
||||
"武侠古典",
|
||||
"长篇连载"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "鲨鱼",
|
||||
"url": "http://shayuzy5.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFMldWYC/z2PTU7CUBhFd/PNXQJDJ46M+ymmajF9Fgm2QElLg21RiopRyuvfZr6fdheWhDi8ybk359KiQp3wrdlae2D3lf0tu6GEBgxu2FPsBYB5xi/3lLl0nIJUY9ER5gU/Z8APDmpNo5TLd+BtIrU6L9Gi4nQlicGPNnTTpjUbzJdt5EM3LGj3e6rFBXTBpiexjMW5gy6ecf5xDrKvaWKwSlvbAVKB6C9a71plAQdz9tPry6sB0DrhVa/8hkfz3/cCsDAkGcusJlv1zIZ/DtKUQJ9PdFh2XoOV05v2vyzMRzwMUc9PjvxdcTT5AwonCZQRAQAA",
|
||||
"class_url": "1&2&3&20&21&22&23&24&25&26&27&28&31&32&33&34&35&36&37&38&39&40",
|
||||
"cate_excludes": [
|
||||
"原纱央莉",
|
||||
"柚木TINA",
|
||||
"大桥未久",
|
||||
"仁科百华",
|
||||
"天海翼",
|
||||
"小川阿佐美",
|
||||
"三上悠亚",
|
||||
"长泽梓"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "奥斯卡",
|
||||
"url": "https://aosikazy.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFUldWYC/z2PbU6DQBCGb7P38AD+0aTngaC1VEoAU0CBFlG6WkvapsTQhepldmaXW8inP5953zwzA8GFMyrptE5swosM3QfIPDgvCXQJr2LYOgS9FMMdhrqI1RG8uIMdFT/mAFAxSAt+PvJqQ2D2jeFC7o+o2aOtKNHJCP4qqN3D/AOrL4K+if4aF4m8KwjO3drPh3MgPfHK73PSz3ihgMFGYEYL4mJjENWlje7zf01vk+YKYU0bEIySq4mkb3Kfk9tredBw2XStSJo6HOxmEcGVCk8qbF8aUbsZLAMViupj6xcsgfcco9fBD0HQ+RmDjStOJcw8Uq8/2yf7Dyc3TVFS5w/sThNDXwEAAA==",
|
||||
"class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
|
||||
"cate_excludes": [
|
||||
"视频一区",
|
||||
"视频二区",
|
||||
"视频三区",
|
||||
"视频四区"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "乐播",
|
||||
"url": "https://lbapi9.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFMldWYC/y2QbW6CQBCGbzNX6U2a9BZSiqjIV6v1AwxoqxgtsX5EYRF6mZ3Z5RZdIn822eSdZ955OJvT5US6IfsnwKDkLOFZQe9p+5HmjiwbaBKLWOPZBw4Z0E8iKoc6iegdQXQjXJ85Y7gpAO8M1xnPj/y+AbxteX5WSfUCz1L6NDGdYD4G7F0ptOXhSLoPahq9oaKRZgHay7ozx8FWjAqQSbde+QolvC7gr6+S0ltIpw+1aaP7pSqr4tDsNkoF4OwbaH7BQSBnHlYGYLoRo4jiJQYpCOcN84IXM17FQFOHphFqV9RdaDKXotZLzF5VUVttVF0atCjcejekscGZBSLxFVAxSD8Djg6Ng8wQ7ACi9NG1WlX8YfRhp1X112lodXhCk6F2E7s11PupvEU8W8hV2J5N931z9tPLsxKAQfUP2nDGlJwBAAA=",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32",
|
||||
"cate_excludes": [
|
||||
"暴力虐待",
|
||||
"学生校园",
|
||||
"玄幻仙侠",
|
||||
"明星偶像",
|
||||
"生活都市",
|
||||
"不伦恋情",
|
||||
"经验故事",
|
||||
"科学幻想",
|
||||
"唯美清纯",
|
||||
"网友自拍",
|
||||
"亚洲性爱",
|
||||
"欧美激情",
|
||||
"露出偷窥",
|
||||
"高跟丝袜",
|
||||
"卡通漫画",
|
||||
"Gif动图"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "老鸭",
|
||||
"url": "https://api.apilyzy.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFUldWYC/zWPYU6DQBCFbzP36E8v4Hm6qZZihUJVwIhCqixNLakUFVhoT7Mzu97CLdo/L3mTee/Lw6eDFDlNrrW9BwozircUpiplZxPbJyObggILixDbB6Btro4uvTC8Y4A3a+rf1f44mF5g1si2lD0HXEQ0ZrjgquwAB45sOloWgPVatpXpMAo4+6bY0buSJj6oaYJZJYVA3hmorUym58qbgrY2NHeQ1UZhdEHOSl81QF81vgUUuRQlgB++CWvvWbv2GdinuFmCOvhKrH46n4JHMD/o3dI4JzaHARWoqsNZCKNLnb/q3SdgwdV98n/9G3oq59Yvnjb47C8BAAA=",
|
||||
"class_url": "20&21&22&23&24&26&27&28&29&30&31&33&34&53&57&58&62&63&74&75&76&77&78&79"
|
||||
},
|
||||
{
|
||||
"name": "森林",
|
||||
"url": "http://senlinzy2.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFQldWYC/0VSzZLSQBB+m7579Gj5Ap68e7dKqzx5g10hQJbAruxGIUggIUF2I79KSEjyMtM9M29hB7K1h3RVV3f6+xu5zfF7nayF6vYBR5lIQtXe0nUDRJzSXSRHe64gkiHtt2S70q0/N0773MQRPRgY2Xi8BzwsxHEnc4srryUYpLI5wfkO8JTgPBbHjTgFQE8h78gzNKj+WFltXN+WazyV/aaI2zIJgVr98kZnQadHUMaSzC7WD1wBW//I6Yp4rGYOYM8Tia9nDq6/Adlzcp6q028/ffn88cNXkHuXD10u8PqajrnKPQyOoCe/WTTmUwxZ/mDFtChelY2IHezaLPXNe+abqHyDxg1XwHbI9ojUlCkf84clRX/4Dl6/ImumOhuQ2a1MZvS3jkYC2rDQf9DOtmyw5yuvQe0/dBoAyxWnH3KXYsvmyUq2NhgFcjAB7VmMQLatZozQyFRtV63JW0ecMuX5oO2DXg6p46PH3hSGap69YGwajbW9YCddXN4xamkEY2H/hmoh1U2Qg8NLw59qFNK80tEA9HWG8RUVtTJ/cqc4ikqpifmcZbwpJ3q2EIWNtUeOipkHcpPiuqdWe6AoELnLMrERg74v5MpQxS+VZZW32PwpnUnJEntmlcfFmwpUTe2XlC/58m/MELA71bUhvwQ5SKsHdPHpP+FuGXjCAgAA",
|
||||
"class_url": "20&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&63&64&65&66&67&68&69&70&71&72&73&74&75&76&77",
|
||||
"cate_excludes": [
|
||||
"都市激情",
|
||||
"校园情事",
|
||||
"人妻縱情",
|
||||
"風俗倫理",
|
||||
"另类小说",
|
||||
"武侠古典",
|
||||
"长篇连载",
|
||||
"唯美写真",
|
||||
"网友自拍",
|
||||
"露出激情",
|
||||
"街拍偷拍",
|
||||
"丝袜美腿",
|
||||
"卡通漫画",
|
||||
"欧美风情"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "阿里BB",
|
||||
"url": "https://bbckzy1.cc",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFYldWYC/zXOXQqCQBSG4d3MPrpsV4mVKSj+UF44gUj+UA5hQY022mbmnOMyMtDL5+b9PlAd5FK3jVYFg6TXXanlB0MxA71sdJoZ9BggMhj1ASZn8E2KOFut0c3GrWQY58hrjFNKjQXc/kNLgScLRAztcYJN04YqyN8zOLyQu+O9QTNg+N2guQOnQnWbA/CudPtkWJc0eHApybaWkyqFa/gDXRGYEL4AAAA=",
|
||||
"class_url": "2&4&5&6&7&8&9&10&11&12&13&14&15&16&17"
|
||||
},
|
||||
{
|
||||
"name": "滴滴",
|
||||
"url": "https://didizy.com",
|
||||
"parse_url": "",
|
||||
"class_name": "H4sIAFUldWYC/zWPzVLCQBCE32buHn0R7564WOXBg1c05YaA8mclIbAloRQCQoRIKhWSEF9mZ3bzFi4abvNNd3VX4+QoskCkr/icAf4Bdh/RZiDSnIahCpj62gK5c+Ibcn3pP5yBWycQaUiOiaGLB/sE+qptNfzbaBfTG6e4VMG72sZQZbmKmCh8/BzC5QW2EmmZuhkU5zQz8Bih0atl/FjJsluD/C5FyrUu0jHQaCpXme6rvP7Z3NvRoby7v24APiUid+q/SC2phxYL2Weg43C+R+ZJPgV8mVXNMbaXVKyhMs1qwsj25LIDarBW7UXdJfcO/hhXN7cNoE2gE6gZyFYEVT4gxxNZR+TJL1aKp0hOAQAA",
|
||||
"class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44",
|
||||
"cate_excludes": [
|
||||
"国产厂商",
|
||||
"水果派解说",
|
||||
"卡通动漫",
|
||||
"采集教程"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "奶香",
|
||||
"url": "https://naixxzy.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "精品国产|精品日韩|精品综合|精品小说|精品美图",
|
||||
"class_name": "H4sIAFUldWYC/zWOW3KCQBBFd9P7yALyk1S5niBGBKPim4QkWFo4vvAVkyACbma6Z9hFBiE/U3Wq5957xDHFvoZuwiMG4gY09jNvWYK4xGg3SsB9R+5O/5e0jW4KRVQaK2q2gIcX6gVydyC9C9SeSusgormobgG1X/VBvWLlg0i65H6grYv+O5A1ypyT8AJhGsDjCa56aDLSn6EQKTpLoPFETDS1E9DIwGCM5yHcVSSb5V7UmspaSE6bHA8wjtAP+fnA4zmg/8Vjp7zQhil3uj7lG5nRws6sBB6aImIqIOw6FBJoLShew+O93Os0fM2b0H6hJ0ZaEyoPktUl60GmJxhW5eLWQm8ntFyefgtrB7j9wShQlblGHqt5MlrzpA8qJ80jmVuKByDmHWwskW1ArYnBRV4/ZZL8AQZHJrmdAQAA",
|
||||
"class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
|
||||
"cate_excludes": [
|
||||
"精品国产",
|
||||
"精品日韩",
|
||||
"精品综合",
|
||||
"精品小说",
|
||||
"精品美图",
|
||||
"都市言情",
|
||||
"暴力侵犯",
|
||||
"家庭伦伦",
|
||||
"性感身体",
|
||||
"角色扮演",
|
||||
"福利姬",
|
||||
"漫画连载"
|
||||
]
|
||||
}
|
||||
]
|
||||
226
json/采集分类生成器.py
Normal file
226
json/采集分类生成器.py
Normal file
@ -0,0 +1,226 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# File : 采集分类生成器.py
|
||||
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
|
||||
# Date : 2024/6/21
|
||||
|
||||
import os
|
||||
import json
|
||||
import gzip
|
||||
import base64
|
||||
|
||||
from urllib.parse import urljoin
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from pprint import pprint
|
||||
import time
|
||||
|
||||
import requests
|
||||
|
||||
import warnings
|
||||
|
||||
# 关闭警告
|
||||
warnings.filterwarnings("ignore")
|
||||
requests.packages.urllib3.disable_warnings()
|
||||
|
||||
pool = ThreadPoolExecutor(max_workers=20) # 初始化线程池内线程数量为20
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
|
||||
'Connection': 'close' # 设置为关闭长连接
|
||||
}
|
||||
|
||||
timeout = 5 # 5秒
|
||||
|
||||
use_gzip = False
|
||||
|
||||
|
||||
def compress_and_encode(data: str):
|
||||
# 压缩数据
|
||||
compressed_data = gzip.compress(data.encode('utf-8'))
|
||||
# 对压缩数据进行Base64编码
|
||||
encoded_data = base64.b64encode(compressed_data).decode('utf-8')
|
||||
return encoded_data
|
||||
|
||||
|
||||
def decode_and_decompress(encoded_data: str):
|
||||
# 解码Base64数据
|
||||
decoded_data = base64.b64decode(encoded_data.encode('utf-8'))
|
||||
# 解压缩数据
|
||||
decompressed_data = gzip.decompress(decoded_data).decode('utf-8')
|
||||
return decompressed_data
|
||||
|
||||
|
||||
def get_classes(rec):
|
||||
classes = None
|
||||
if rec.get('url') and str(rec['url']).startswith('http'):
|
||||
_class_api = rec.get('api') or '/api.php/provide/vod/'
|
||||
_api = urljoin(str(rec['url']).rstrip('/'), _class_api)
|
||||
# _api = urljoin(rec['url'], '/api.php/provide/vod/at/json')
|
||||
print(_api)
|
||||
try:
|
||||
r = requests.get(_api, headers=headers, timeout=timeout, verify=False)
|
||||
ret = r.json()
|
||||
if rec.get('name') == '乐视资源':
|
||||
print('=======乐视=========')
|
||||
print(ret)
|
||||
# print(ret)
|
||||
classes = ret.get('class')
|
||||
except Exception as e:
|
||||
print(f'获取资源【{rec["name"]}】({_api})分类发生错误:{e}')
|
||||
|
||||
return classes
|
||||
|
||||
|
||||
def convert_class(classes, name=None):
|
||||
"""
|
||||
获取的分类转静态分类格式
|
||||
@param classes:
|
||||
@return:
|
||||
"""
|
||||
if name is None:
|
||||
name = ''
|
||||
if not classes:
|
||||
return {
|
||||
"name": "",
|
||||
"class_name": "",
|
||||
"class_url": "",
|
||||
}
|
||||
class_names = []
|
||||
class_urls = []
|
||||
for cls in classes:
|
||||
if cls.get('type_name') and cls.get('type_id'):
|
||||
class_urls.append(str(cls['type_id']))
|
||||
class_names.append(str(cls['type_name']))
|
||||
global use_gzip
|
||||
return {
|
||||
"name": name,
|
||||
"class_name": compress_and_encode('&'.join(class_names)) if use_gzip else '&'.join(class_names),
|
||||
"class_url": '&'.join(class_urls),
|
||||
}
|
||||
|
||||
|
||||
def get_convert_classes(rec):
|
||||
classes = get_classes(rec)
|
||||
classes = convert_class(classes, rec.get('name'))
|
||||
return classes
|
||||
|
||||
|
||||
def check_class(api, type_name, type_id, limit_count=6):
|
||||
_url = f'{api}?ac=detail&pg=1&t={type_id}'
|
||||
try:
|
||||
r = requests.get(_url, headers=headers, timeout=timeout, verify=False)
|
||||
ret = r.json()
|
||||
if not ret.get("list") or len(ret["list"]) < limit_count:
|
||||
print(f'获取资源 {api} 分类【{type_name}】数量为:{len(ret["list"])} 小于{limit_count}视为排除')
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f'获取资源 {_url} 分类【{type_name}】发生错误:{e}')
|
||||
return True
|
||||
|
||||
|
||||
def check_active(api):
|
||||
try:
|
||||
r = requests.get(api, headers=headers, timeout=timeout, verify=False)
|
||||
ret = r.json()
|
||||
if not ret.get("class"):
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f'检查api: {api} 存活发生错误:{e}')
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def main(fname='采集'):
|
||||
file_path = f'./{fname}.json'
|
||||
out_file_path = file_path.replace('.json', '静态.json')
|
||||
if not os.path.exists(file_path):
|
||||
exit(f'不存在采集文件路径:{file_path}')
|
||||
with open(file_path, encoding='utf-8') as f:
|
||||
data = f.read()
|
||||
records = json.loads(data)
|
||||
print(records)
|
||||
# for rec in records:
|
||||
# ret = get_convert_classes(rec)
|
||||
# pprint(ret)
|
||||
tasks = [pool.submit(get_convert_classes, rec) for rec in records] # 构造一个列表,循环向线程池内submit提交执行的方法
|
||||
pool.shutdown(wait=True) # 线程数等待所有线程结束,这里 卡住主线程
|
||||
results = [task.result() for task in tasks]
|
||||
print(results)
|
||||
new_records = []
|
||||
for record in records:
|
||||
rec_name = record["name"]
|
||||
if rec_name:
|
||||
has_name = [ret for ret in results if ret.get("name") == rec_name]
|
||||
if has_name:
|
||||
record.update(has_name[-1])
|
||||
new_records.append(record)
|
||||
pprint(new_records)
|
||||
print(f'转换静态数据成功记录数:{len(new_records)}')
|
||||
with open(out_file_path, mode='w+', encoding='utf-8') as f:
|
||||
f.write(json.dumps(new_records, ensure_ascii=False, indent=2))
|
||||
|
||||
|
||||
def main_exclude(fname='采集静态', max_workers=0):
|
||||
file_path = f'./{fname}.json'
|
||||
if not os.path.exists(file_path):
|
||||
exit(f'不存在采集文件路径:{file_path}')
|
||||
with open(file_path, encoding='utf-8') as f:
|
||||
data = f.read()
|
||||
records = json.loads(data)
|
||||
if len(records) < 1 or not records[0].get('class_name'):
|
||||
exit('输入数据有误,疑似不是静态数据')
|
||||
print(records)
|
||||
new_records = []
|
||||
for rec in records:
|
||||
new_rec = rec.copy()
|
||||
if rec.get('api'):
|
||||
api_url = urljoin(rec['url'], rec['api'])
|
||||
else:
|
||||
api_url = urljoin(rec['url'], '/api.php/provide/vod/')
|
||||
print(api_url)
|
||||
cate_excludes = []
|
||||
if not check_active(api_url):
|
||||
print(f'{rec["name"]} ({rec["url"]})视为不存活,跳过分类检测')
|
||||
else:
|
||||
class_names = decode_and_decompress(rec['class_name']).split('&')
|
||||
class_urls = rec['class_url'].split('&')
|
||||
rec_pool = ThreadPoolExecutor(max_workers=max_workers or len(class_names)) # 初始化线程池内线程数量为分类数量
|
||||
tasks = []
|
||||
for i in range(len(class_names)):
|
||||
type_name = class_names[i]
|
||||
type_id = class_urls[i]
|
||||
tasks.append(rec_pool.submit(check_class, api_url, type_name, type_id))
|
||||
rec_pool.shutdown(wait=True) # 线程数等待所有线程结束,这里 卡住主线程
|
||||
results = [task.result() for task in tasks]
|
||||
print(results)
|
||||
for i in range(len(class_names)):
|
||||
type_name = class_names[i]
|
||||
# type_id = class_urls[i]
|
||||
if not results[i]:
|
||||
cate_excludes.append(type_name)
|
||||
if len(cate_excludes) > 0:
|
||||
new_rec['cate_excludes'] = cate_excludes
|
||||
new_records.append(new_rec)
|
||||
|
||||
with open(file_path, mode='w+', encoding='utf-8') as f:
|
||||
f.write(json.dumps(new_records, ensure_ascii=False, indent=2))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
use_gzip = True
|
||||
fmode = str(input('请输入处理文件方式(0:生成分类 1:添加分类过滤),留空默认为生成静态分类:\n'))
|
||||
ftips = '采集静态' if fmode == '1' else '采集'
|
||||
fname = str(input(f'请输入文件名(q结束程序),留空默认为{ftips}:\n'))
|
||||
t1 = time.time()
|
||||
if fname == 'q':
|
||||
exit('已主动结束脚本')
|
||||
if not fmode or fmode == '0':
|
||||
fname = fname or '采集'
|
||||
main(fname)
|
||||
elif fmode == '1':
|
||||
fname = fname or '采集静态'
|
||||
main_exclude(fname, 10)
|
||||
else:
|
||||
exit(f'未知的处理类型:{fmode}')
|
||||
t2 = time.time()
|
||||
print(f'本次程序运行耗时:{round(t2 - t1, 2)}秒')
|
||||
191
json/采集静态.json
Normal file
191
json/采集静态.json
Normal file
@ -0,0 +1,191 @@
|
||||
[
|
||||
{
|
||||
"name": "业余资源",
|
||||
"url": "https://yyff.540734621.xyz",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "",
|
||||
"class_name": "H4sIALCjdWYC/0VQWw6CMBC8Tc+pEpD6oaiIJpDwo6kvomiIUqin6XbhFspSw9/s7GRmdjEsQOUMw6IRHnDBYHY09YWhPIPaIJ8yrOqGy47XKukIiJKfkFZ+bhyXOC4sQrGEsuqQ8XdackLjwIwi0sVKS9HlmKvAz5zQ9tCmJ0LvGyzu1CJW4Lk2upf+h+IF+2jQ2L7Wzg69o73EycwqwzQbsqxVmz51GTCt1s3kYash/eMLtttB6BYBAAA=",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28"
|
||||
},
|
||||
{
|
||||
"name": "360资源",
|
||||
"url": "https://360zy.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/zWRa3aCMBCFd5N9tAvomhRaFHoqcKpYrUd7VEQtCD6rYGAzee6iYYi/8s0kmZl7h/fPFO+RqKa8SKgdIV7chZ0j6qzZ/ReR+4p7Frc7dYLgCVAwUQ9r4t09M9+AIp/eippY22OtAN7Zkb5l3S+S25D7xiSP6j5yNWLXFGi2UemaWBzxslcTwZ/COKCX5yfETIcZY/i8u9A84akidykWUJr2LOoeoIkR88CHYZyU4y1Qu5TjEijfUjwAmiVaD+/DxNTN2K2E/sOQTWKg8x9dBkDHTE9Hl5EcWdqfenY3ewTDUIl4BCDiYWOjtzFTy9MB/NGBuBy5ZyKe7uqDTba0a/F9gURYSXPdWI1Z0FGzw456GSkW0sT0aiDx6rPTtFGP6O2kbvimEhdHu0SKESl/VPAhcKzKgJTwKOc+a7+rDarteHJQyZYl5sk/IOiszA8CAAA=",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&45&46&47&48&49&50&51&52&53",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"连续剧",
|
||||
"综艺",
|
||||
"动漫",
|
||||
"体育",
|
||||
"海外剧",
|
||||
"泰国剧",
|
||||
"港台综艺",
|
||||
"日韩综艺",
|
||||
"欧美综艺",
|
||||
"欧美动漫",
|
||||
"足球",
|
||||
"篮球",
|
||||
"未分类",
|
||||
"脑洞悬疑",
|
||||
"反转爽剧"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "豪华资源",
|
||||
"url": "https://hhzyapi.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/zVPWw6CMBC8Tc/pI6D1w0eCKErCj1ofKBBjokg5DbsLt7Bdy1dnZrezMxS8WuWDVIKCF+hCYKqonluhO0X4zhglF/vg5sjskuIzt6ipTrT0SU4EzM6Nji2iaYFjj7UwNkusqRV8vhbhcImDkKdSuT2cbptSWtQ+ctBr54fVTYDvQcynjEABWzTvO+y1WzCRME578o/+J/StWlkKWOT4qdnhoLrId7L5Z0r1xLRc5D1hE0doWHe7mkOOUgpXXGaWkb5yyOPE1aLkbk78ALNMUSlMAQAA",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&30&31&32&33&34&35&36&37&38",
|
||||
"cate_excludes": [
|
||||
"电视剧",
|
||||
"电影",
|
||||
"动漫",
|
||||
"综艺"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "速播资源",
|
||||
"url": "https://subocaiji.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/zWPWw6CMBBFd9N1+ohKNVGMiBpI+FHrAyJISHiV1bQzsAuZgl/39LY9k0En0zJh6GStWGoumF4/oH4zrOqWlwzLl5ZH5CvqlfSJ0EpgvjAk9rqoiMA6q5Kbd1yMtzC1YeKazvX7erT0dhyG6qvoLsPQXQxFQ9QFTwpsthSQf6BJDZ1uJtKYQtV3tJckVPLQzr5t5qlyw1QeaU+OG/Q/wA//h1CQctwtiHrJD0Ycn8r6AAAA",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"电视剧"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "红牛资源",
|
||||
"url": "https://www.hongniuzy2.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/y2PXQ6CMBCEb9Nz+hOVaqIYFU0g8qRV1AgSEikUL9Pu1lvorj7Nl5nNZBbXlTOF8K89NjcnlcCm9VILNz1BeyGxJkE5ES5KvjERBgUMR0xq6eqGCPoh9CK+k+qfQrCzWrIXG6sVtcPzDl3JtD2wXBV2cyK3yKHu2Ctzknd65kE6c2bDNbwJf4tte8RwTLY1Kz94+Cq2eiYwpS8+mOVyptYAAAA=",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&29&30",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"连续剧"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "新浪资源",
|
||||
"url": "https://api.xinlangapi.com",
|
||||
"parse_url": "",
|
||||
"api": "/xinlangapi.php/provide/vod/from/xlm3u8/",
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/0WOXQ6CMBCEb9Nz+hOR+qAYETUh4UWtikaQkEihPU27W24hXU18msk3m53BuLaqZBjXTgSWC2YXF+hyhm3nuGQob1Ztkc89Nyr1DsMSpjNyYm2b1jsI90ZyuuPil8I4glFCLEkHTO4o+gP1wPsJuqLGVQGNJnYXqJf/Ffgd12dXSncnkqrwYrozRoH/adTGTV4Ms8fAP2ziC/TQAAAA",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"电视剧"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "飞刀资源",
|
||||
"url": "http://www.feidaozy.com",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "^电影$|^电视剧$|^综艺$|^动漫$",
|
||||
"class_name": "H4sIALCjdWYC/zWR3W7CMAyF3ybPyY8KbYVWOnXZBtV2hUJZJ0ATE2tIn6ax27dYYidX+Y5jHZ84WN2suQqsbqNa2UwJ1I8x64TNj/D4Enb1PL03mK2Fu4NlQpQfB1MHwkojW9jtBmaKyrJ23USHtf3TnqBV2D/5AfB68Mf02fjD7s3QKarPtzCT1LtoUZZEyxwWO6L0begyou/NmH54wnk/7Xqi9BrCYX5GcyJSZZiNurDJnciUqOsQGH4uNPd+piAFK3mZmpYKye+gJdUoe1iMiw91G4R/xN7EldFTYhv5uBFRuylFFGwdb3gzvG92D4Ld40/wokJbdI+a3GMnB2eB3cmaF/f2f00wLfvpAQAA",
|
||||
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"电视剧",
|
||||
"综艺",
|
||||
"动漫",
|
||||
"欧美综艺",
|
||||
"日本综艺",
|
||||
"韩国综艺",
|
||||
"国产综艺",
|
||||
"新马泰综艺",
|
||||
"港台综艺",
|
||||
"其他综艺",
|
||||
"韩国动漫",
|
||||
"新马泰动漫",
|
||||
"其他动漫"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "黑木耳资源",
|
||||
"url": "https://www.heimuer.tv",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "^电影$|^电视剧$|^综艺$|^动漫$",
|
||||
"class_name": "H4sIALGjdWYC/0WSbXKCQAyGb8M5UQcRqgU7DFal2mllKBa/pqNjQexl2M1yi7LZpP2175PNJnkDEJ1FfbIgOqtsKLzMEv6HvH1aUN2UV1pdRA4c8Fwdb+oE1fCpneeowrG0M1Rx0qWiSl3xXWkle6G0Y4wt66bMdHV5PeijXedIsxSPfgHxFJ8MfNlfaAW9e7u4oxqdaATwD1BvUWVTatKNBVEF5GK9w3pfR3QS4CGLDO6PqOJjmxd45VyaKsbYbqxGK+w9em5KD6tXgXCuqOopVAlV7x6J/eDfD61IWwqOBNrYsuabWSqTggHHYMBJujl5zTgPQ7BR7w55UfNQ9h4IWnuo3nbs0mzNAKQrddpymjuBaE0gNpOmcjkt/1EXnyFKxP6V026lsv+ahmOxf+EbY5uammWaf8T4IzDOCeiDUxouiIGdcyZWN/ALQpTFCIwCAAA=",
|
||||
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"电视剧",
|
||||
"动漫",
|
||||
"综艺",
|
||||
"短剧",
|
||||
"其它片",
|
||||
"新马泰综艺",
|
||||
"古装短剧",
|
||||
"悬疑短剧",
|
||||
"神豪短剧",
|
||||
"复仇短剧",
|
||||
"强者短剧",
|
||||
"萌宝短剧",
|
||||
"韩国动漫",
|
||||
"新马泰动漫",
|
||||
"其它动漫"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "iku喵",
|
||||
"url": "http://caiji.ikum.cc:8099",
|
||||
"parse_url": "",
|
||||
"cate_exclude": "",
|
||||
"class_name": "H4sIALGjdWYC/yXIOw5AQBRG4d3clVKMgmKEQlBNhiAoiBiPzfjdsQsxmpMvh+MJ+0j2LNh0EJrYbFashKC6t4aQ7deqv38vPaLBKVVPWTu1mo/wE/z5MomTd3KjyMocviDIGLL++wIj0AZ/awAAAA==",
|
||||
"class_url": "1&2&3&4&20&21&22&23&24&25&26&27",
|
||||
"cate_excludes": [
|
||||
"蓝光"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "暴风资源",
|
||||
"url": "https://bfzyapi.com",
|
||||
"parse_url": "",
|
||||
"searchable": 0,
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/zWRa3aCMBCFd5N1+kIFj1VOLdbq0Z6iBq0VrI8qGN1MMhN20WSAP8x34c7NZMDRWYkDuh2mvEiKGVEwUy63BPUh1AJLyH11y4i6B2g65HN5SdB9l6lLX9OtEm9Ew7bep5b0c47Zj3EzNRUy5ZZgx/HxYilfT+AaEy02xkC+QQK3B/nGK5jtiM5/ahkQHZPK50Vw/6ZZimTStslmlaI4qRTmpEFSiSKxEJjdtUvjqiXPJ+1Clw2VoNxKUG4pTAiOivXQQjUPdXxi+VdL+Z59LcWrbvzq81SmPaYvRxw2GcZ7KsK3BYJYx6lyegwXdllmDOVELO/0cbSAxDc3ZLh56ounbieZhQxfElN0VDM/wWysr8UOuwICc4PVEeo9qGU6rLN8vFWbD1xn5snyplDXhm75cJqbnqUOHZlN5OPzH964N6gIAgAA",
|
||||
"class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&65&66&67&68&69&70&71&72"
|
||||
},
|
||||
{
|
||||
"name": "量子资源",
|
||||
"url": "https://cj.lziapi.com",
|
||||
"parse_url": "",
|
||||
"searchable": 0,
|
||||
"cate_exclude": "电影片|连续剧|综艺片|动漫片|电影解说|体育|演员|新闻资讯",
|
||||
"class_name": "H4sIALGjdWYC/zWR607DMAyF3ybPCbuxDom1Yms3UTEJtmWI0bSMAr1kvEzspG9B46S/8h3b8XEcvSpBFjq4Y+bvWTcfEHCmm9YEtY3B4oTtuyclU6I47Yss6XmB4ykRj6BqLOFtiDcx1QXcZ3G+UXVAsSepam49uuMWfwXR7q0PW8Iz19cHSybLQa7pxjLH6krZ5IDpmaj8gX1MdMn9XdjzbjtzkzPbeZkPIjn0FoMgCy/8NPRGXzYIN4kX1G0QztsJ1R51OKMF0BoNfzXiiyn5aEafzHxfdDhmWmR0yMgeGAsjapjeM2xXEG36QN4ljSknJhNDGyfgVKgqdHnWvUwgWpDVzn7SP/ilxw64AQAA",
|
||||
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46",
|
||||
"cate_excludes": [
|
||||
"电影片",
|
||||
"连续剧",
|
||||
"综艺片",
|
||||
"动漫片",
|
||||
"体育",
|
||||
"演员",
|
||||
"新闻资讯",
|
||||
"电影资讯",
|
||||
"娱乐新闻"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "乐视资源",
|
||||
"url": "https://leshiapi.com",
|
||||
"parse_url": "https://leshivideoplayurl.com/?url=",
|
||||
"cate_exclude": "",
|
||||
"api": "/api.php/provide/vod/at/json/",
|
||||
"class_name": "H4sIALWjdWYC/zVRWXbCMAy8jc/JUiAJjyWvNC3Lg1KWAE1fQlkKCQ6XsS3nFrVl+yszkmc0UmB04fRIID9w+gZ+h8jnHIof7sdEJDGUfY2q7VjcUo14sGN0pt+BdxTNFqI45PdCI1EfilqkkXpru8L7YLmPtWimyoiCHYxQAUEK9IC1KWV5jNMWe0XsNPH4JlA8pJ8Tvo6rcdsSnWeQOfK+USJHMLbTDDJxL9HL+BtHJRCzxBGzpyWXP76OHDllNokS6A/gtWS8kumZ8E3H7g31spqUuG0jgSjEfVpXVuAtGH2VjV95mbK86/y11wKvzB5bGLZRiyuxmw+5O4Jp2riW8N6yqk1sQjPFdQY9SRPwzO02p+orFPWu+lGqs5arFivGrPwk/H5mxQr2T3kNiHwJxXluYhPoZ6pTNSm/Nf4BxMaYBRkCAAA=",
|
||||
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&44&46&48&49&50&51&52&53&54&55&56&57&58&59",
|
||||
"cate_excludes": [
|
||||
"电影",
|
||||
"连续剧",
|
||||
"体育赛事"
|
||||
]
|
||||
}
|
||||
]
|
||||
Loading…
Reference in New Issue
Block a user