Update spider.py

pull/568/head
okjack 1 year ago
parent bc3ed5fdb0
commit 0f29b57237
  1. 20
      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:

Loading…
Cancel
Save