From 0f29b572378230bf22c8953a732e332b2f6e9241 Mon Sep 17 00:00:00 2001 From: okjack Date: Sat, 17 Aug 2024 12:31:22 +0800 Subject: [PATCH] Update spider.py --- pyramid/src/main/python/base/spider.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pyramid/src/main/python/base/spider.py b/pyramid/src/main/python/base/spider.py index 4b2605c58..e08e06da9 100644 --- a/pyramid/src/main/python/base/spider.py +++ b/pyramid/src/main/python/base/spider.py @@ -13,6 +13,9 @@ from com.github.catvod import Proxy class Spider(metaclass=ABCMeta): _instance = None + def __init__(self): + self.extend = '' + def __new__(cls, *args, **kwargs): if cls._instance: return cls._instance @@ -24,26 +27,21 @@ class Spider(metaclass=ABCMeta): def init(self, extend=""): pass - @abstractmethod def homeContent(self, filter): pass def homeVideoContent(self): pass - @abstractmethod def categoryContent(self, tid, pg, filter, extend): pass - @abstractmethod def detailContent(self, ids): pass - @abstractmethod def searchContent(self, key, quick, pg="1"): pass - @abstractmethod def playerContent(self, flag, id, vipFlags): pass @@ -104,9 +102,21 @@ class Spider(metaclass=ABCMeta): def html(self, content): return etree.HTML(content) + def str2json(str): + return json.loads(str) + + def json2str(str): + return json.dumps(str, ensure_ascii=False) + def getProxyUrl(self, local=True): return f'{Proxy.getUrl(local)}?do=py' + def log(self, msg): + if isinstance(msg, dict) or isinstance(msg, list): + print(json.dumps(msg, ensure_ascii=False)) + else: + print(f'{msg}') + def getCache(self, key): value = self.fetch(f'http://127.0.0.1:{Proxy.getPort()}/cache?do=get&key={key}', timeout=5).text if len(value) > 0: