diff --git a/py/libvio.py b/py/libvio.py index 3aaa8d8..8a0e40b 100644 --- a/py/libvio.py +++ b/py/libvio.py @@ -121,13 +121,11 @@ class Spider(BaseSpider): def _page_result(self, items, pg): page = int(pg) - pagecount = page + 1 if items else page return { "list": items, "page": page, - "pagecount": pagecount, "limit": len(items), - "total": pagecount * max(len(items), 1), + "total": page * 30 + len(items), } def _clean_text(self, text): diff --git a/py/youknow.py b/py/youknow.py index 8c58918..26168c9 100644 --- a/py/youknow.py +++ b/py/youknow.py @@ -140,14 +140,11 @@ class Spider(BaseSpider): def _page_result(self, items, pg): page = int(pg) - pagecount = page + 1 if items else page - self.log(items[0]) return { "list": items, "page": page, - "pagecount": pagecount, "limit": len(items), - "total": pagecount * max(len(items), 1), + "total": page * 30 + len(items), } def _build_category_path(self, tid, pg): diff --git a/py/低端影视.py b/py/低端影视.py index 56994f3..74a2796 100644 --- a/py/低端影视.py +++ b/py/低端影视.py @@ -221,9 +221,8 @@ class Spider(BaseSpider): return { "list": items, "page": page, - "pagecount": page + 1 if items else page, "limit": 24, - "total": page * 24 + len(items), + "total": page * 30 + len(items), } def searchContent(self, key, quick, pg="1"): diff --git a/py/剧迷.py b/py/剧迷.py index c3f2a2a..14624d9 100644 --- a/py/剧迷.py +++ b/py/剧迷.py @@ -169,13 +169,11 @@ class Spider(BaseSpider): url = self._build_category_url(str(tid), str(pg), extend if isinstance(extend, dict) else {}) items = self._extract_cards(self._request_html(url)) page = int(pg) - pagecount = page + 1 if len(items) >= 20 else page return { "list": items, "page": page, - "pagecount": pagecount, "limit": 20, - "total": page * 20 + len(items), + "total": page * 30 + len(items), } def _pick_info(self, html, label): diff --git a/py/橘子TV.py b/py/橘子TV.py index f3afddc..1332d2c 100644 --- a/py/橘子TV.py +++ b/py/橘子TV.py @@ -27,6 +27,7 @@ class Spider(BaseSpider): self.version = "1.0.1" self.version_code = 1000 self.inited = False + self.next = ["", ""] def init(self, extend=""): if self.inited: @@ -150,20 +151,19 @@ class Spider(BaseSpider): def _page_result(self, items, pg, has_next): page = int(pg) - pagecount = page + 1 if items and has_next else page return { "list": items, "page": page, - "pagecount": pagecount, "limit": len(items), - "total": pagecount * max(len(items), 1), + "total": page * 30 + len(items), } def categoryContent(self, tid, pg, filter, extend): + page = int(pg) payload = self._build_payload( { "nextCount": 18, - "nextVal": "", + "nextVal": self.next[page] if page < len(self.next) else "", "queryValueJson": json.dumps( [{"filerName": "channelId", "filerValue": str(tid)}], ensure_ascii=False, @@ -174,6 +174,11 @@ class Spider(BaseSpider): ) response = self._post_api("/v1/api/search/queryNow", payload) data = response.get("data", {}) + nextVal = data.get("nextVal", '') + if len(self.next) == page + 1: + self.next.append(nextVal) + else: + self.next[page + 1] = nextVal items = [self._map_video_item(item) for item in data.get("items", []) if isinstance(item, dict)] return self._page_result(items, pg, data.get("hasNext") == 1) diff --git a/py/独播库.py b/py/独播库.py index 3f6f5f1..18b7ed6 100644 --- a/py/独播库.py +++ b/py/独播库.py @@ -181,13 +181,11 @@ class Spider(BaseSpider): def _page_result(self, items, pg): page = int(pg) - pagecount = page + 1 if items else page return { "list": items, "page": page, - "pagecount": pagecount, "limit": len(items), - "total": pagecount * max(len(items), 1), + "total": page * 30 + len(items), } def categoryContent(self, tid, pg, filter, extend):