fix spider
This commit is contained in:
parent
de93b18673
commit
ee87c64bc9
@ -18,7 +18,6 @@ from app.schemas.types import MediaType
|
|||||||
|
|
||||||
|
|
||||||
class TorrentSpider:
|
class TorrentSpider:
|
||||||
|
|
||||||
# 是否出现错误
|
# 是否出现错误
|
||||||
is_error: bool = False
|
is_error: bool = False
|
||||||
# 索引器ID
|
# 索引器ID
|
||||||
@ -393,10 +392,12 @@ class TorrentSpider:
|
|||||||
items = self.__attribute_or_text(size, selector)
|
items = self.__attribute_or_text(size, selector)
|
||||||
item = self.__index(items, selector)
|
item = self.__index(items, selector)
|
||||||
if item:
|
if item:
|
||||||
self.torrents_info['size'] = StringUtils.num_filesize(item.replace("\n", "").strip())
|
size_val = item.replace("\n", "").strip()
|
||||||
self.torrents_info['size'] = self.__filter_text(self.torrents_info.get('size'),
|
size_val = self.__filter_text(size_val,
|
||||||
selector.get('filters'))
|
selector.get('filters'))
|
||||||
self.torrents_info['size'] = StringUtils.num_filesize(self.torrents_info.get('size'))
|
self.torrents_info['size'] = StringUtils.num_filesize(size_val)
|
||||||
|
else:
|
||||||
|
self.torrents_info['size'] = 0
|
||||||
|
|
||||||
def __get_leechers(self, torrent):
|
def __get_leechers(self, torrent):
|
||||||
# torrent leechers
|
# torrent leechers
|
||||||
@ -408,9 +409,10 @@ class TorrentSpider:
|
|||||||
items = self.__attribute_or_text(leechers, selector)
|
items = self.__attribute_or_text(leechers, selector)
|
||||||
item = self.__index(items, selector)
|
item = self.__index(items, selector)
|
||||||
if item:
|
if item:
|
||||||
self.torrents_info['peers'] = item.split("/")[0]
|
peers_val = item.split("/")[0]
|
||||||
self.torrents_info['peers'] = self.__filter_text(self.torrents_info.get('peers'),
|
peers_val = self.__filter_text(peers_val,
|
||||||
selector.get('filters'))
|
selector.get('filters'))
|
||||||
|
self.torrents_info['peers'] = int(peers_val) if peers_val and peers_val.isdigit() else 0
|
||||||
else:
|
else:
|
||||||
self.torrents_info['peers'] = 0
|
self.torrents_info['peers'] = 0
|
||||||
|
|
||||||
@ -424,9 +426,10 @@ class TorrentSpider:
|
|||||||
items = self.__attribute_or_text(seeders, selector)
|
items = self.__attribute_or_text(seeders, selector)
|
||||||
item = self.__index(items, selector)
|
item = self.__index(items, selector)
|
||||||
if item:
|
if item:
|
||||||
self.torrents_info['seeders'] = item.split("/")[0]
|
seeders_val = item.split("/")[0]
|
||||||
self.torrents_info['seeders'] = self.__filter_text(self.torrents_info.get('seeders'),
|
seeders_val = self.__filter_text(seeders_val,
|
||||||
selector.get('filters'))
|
selector.get('filters'))
|
||||||
|
self.torrents_info['seeders'] = int(seeders_val) if seeders_val and seeders_val.isdigit() else 0
|
||||||
else:
|
else:
|
||||||
self.torrents_info['seeders'] = 0
|
self.torrents_info['seeders'] = 0
|
||||||
|
|
||||||
@ -440,9 +443,10 @@ class TorrentSpider:
|
|||||||
items = self.__attribute_or_text(grabs, selector)
|
items = self.__attribute_or_text(grabs, selector)
|
||||||
item = self.__index(items, selector)
|
item = self.__index(items, selector)
|
||||||
if item:
|
if item:
|
||||||
self.torrents_info['grabs'] = item.split("/")[0]
|
grabs_val = item.split("/")[0]
|
||||||
self.torrents_info['grabs'] = self.__filter_text(self.torrents_info.get('grabs'),
|
grabs_val = self.__filter_text(grabs_val,
|
||||||
selector.get('filters'))
|
selector.get('filters'))
|
||||||
|
self.torrents_info['grabs'] = int(grabs_val) if grabs_val and grabs_val.isdigit() else 0
|
||||||
else:
|
else:
|
||||||
self.torrents_info['grabs'] = 0
|
self.torrents_info['grabs'] = 0
|
||||||
|
|
||||||
@ -607,7 +611,7 @@ class TorrentSpider:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def __index(items, selector):
|
def __index(items, selector):
|
||||||
if not selector:
|
if not selector:
|
||||||
return items
|
return items[0] if isinstance(items, list) else items
|
||||||
if not items:
|
if not items:
|
||||||
return items
|
return items
|
||||||
if "contents" in selector \
|
if "contents" in selector \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Optional, Dict, List
|
from typing import Optional, Dict, List, Union
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user