diff --git a/media_platform/bilibili/client.py b/media_platform/bilibili/client.py index 1b132a6..14755d1 100644 --- a/media_platform/bilibili/client.py +++ b/media_platform/bilibili/client.py @@ -54,6 +54,8 @@ class BilibiliClient: :param req_data: :return: """ + if not req_data: + return {} img_key, sub_key = await self.get_wbi_keys() return BilibiliSign(img_key, sub_key).sign(req_data) @@ -91,10 +93,14 @@ class BilibiliClient: async def pong(self) -> bool: """get a note to check if login state is ok""" - utils.logger.info("Begin pong kuaishou...") + utils.logger.info("Begin pong bilibili...") ping_flag = False try: - pass + check_login_uri = "/x/web-interface/nav" + response = await self.get(check_login_uri) + if response.get("isLogin"): + utils.logger.info("use cache login state get web interface successfull!") + ping_flag = True except Exception as e: utils.logger.error(f"Pong kuaishou failed: {e}, and try to login again...") ping_flag = False diff --git a/media_platform/bilibili/core.py b/media_platform/bilibili/core.py index b1404ff..cd7587f 100644 --- a/media_platform/bilibili/core.py +++ b/media_platform/bilibili/core.py @@ -22,7 +22,7 @@ from var import comment_tasks_var, crawler_type_var from .client import BilibiliClient -from .field import OrderType +from .field import SearchOrderType from .login import BilibiliLogin @@ -102,7 +102,7 @@ class BilibiliCrawler(AbstractCrawler): keyword=keyword, page=page, page_size=bili_limit_count, - order=OrderType.DEFAULT, + order=SearchOrderType.DEFAULT, ) video_list: List[Dict] = videos_res.get("result") for video_item in video_list: diff --git a/media_platform/douyin/client.py b/media_platform/douyin/client.py index a37796c..6fe2eec 100644 --- a/media_platform/douyin/client.py +++ b/media_platform/douyin/client.py @@ -86,7 +86,7 @@ class DOUYINClient: return await self.request(method="POST", url=f"{self._host}{uri}", data=data, headers=headers) @staticmethod - async def ping(browser_context: BrowserContext) -> bool: + async def pong(browser_context: BrowserContext) -> bool: _, cookie_dict = utils.convert_cookies(await browser_context.cookies()) # todo send some api to test login status return cookie_dict.get("LOGIN_STATUS") == "1" diff --git a/media_platform/douyin/core.py b/media_platform/douyin/core.py index 5276418..c327801 100644 --- a/media_platform/douyin/core.py +++ b/media_platform/douyin/core.py @@ -54,7 +54,7 @@ class DouYinCrawler(AbstractCrawler): await self.context_page.goto(self.index_url) self.dy_client = await self.create_douyin_client(httpx_proxy) - if not await self.dy_client.ping(browser_context=self.browser_context): + if not await self.dy_client.pong(browser_context=self.browser_context): login_obj = DouYinLogin( login_type=self.login_type, login_phone=account_phone, diff --git a/media_platform/kuaishou/client.py b/media_platform/kuaishou/client.py index 3bd19e6..6b120e8 100644 --- a/media_platform/kuaishou/client.py +++ b/media_platform/kuaishou/client.py @@ -55,7 +55,8 @@ class KuaiShouClient: return await self.request(method="POST", url=f"{self._host}{uri}", data=json_str, headers=self.headers) - async def pong(self) -> bool: + @staticmethod + async def pong() -> bool: """get a note to check if login state is ok""" utils.logger.info("Begin pong kuaishou...") ping_flag = False diff --git a/media_platform/xhs/client.py b/media_platform/xhs/client.py index 1d0c4d6..2faee26 100644 --- a/media_platform/xhs/client.py +++ b/media_platform/xhs/client.py @@ -81,9 +81,9 @@ class XHSClient: return await self.request(method="POST", url=f"{self._host}{uri}", data=json_str, headers=headers) - async def ping(self) -> bool: + async def pong(self) -> bool: """get a note to check if login state is ok""" - utils.logger.info("Begin to ping xhs...") + utils.logger.info("Begin to pong xhs...") ping_flag = False try: note_card: Dict = await self.get_note_by_keyword(keyword="小红书") diff --git a/media_platform/xhs/core.py b/media_platform/xhs/core.py index 378dd56..118f44c 100644 --- a/media_platform/xhs/core.py +++ b/media_platform/xhs/core.py @@ -63,7 +63,7 @@ class XiaoHongShuCrawler(AbstractCrawler): # Create a client to interact with the xiaohongshu website. self.xhs_client = await self.create_xhs_client(httpx_proxy) - if not await self.xhs_client.ping(): + if not await self.xhs_client.pong(): login_obj = XHSLogin( login_type=self.login_type, login_phone=account_phone,