[~] Refactor

This commit is contained in:
Siarhei Siniak 2024-07-06 17:55:04 +03:00
parent 7dff2a98f2
commit 45e289cea7

@ -66,6 +66,7 @@ async def tiktok_videos_links_get(
query: Optional[str]=None, query: Optional[str]=None,
screenshot_path: Optional[str]=None, screenshot_path: Optional[str]=None,
max_time: Optional[int | float]=None, max_time: Optional[int | float]=None,
max_links: Optional[int]=None,
) -> Iterable[str]: ) -> Iterable[str]:
import datetime import datetime
import TikTokApi import TikTokApi
@ -73,6 +74,9 @@ async def tiktok_videos_links_get(
import asyncio import asyncio
import re import re
if max_links is None:
max_links = 100
if max_time is None: if max_time is None:
max_time = 10 max_time = 10
@ -91,7 +95,8 @@ async def tiktok_videos_links_get(
path=screenshot_path, path=screenshot_path,
) )
links = set() links = list()
links_set = set()
started_at = datetime.datetime.now() started_at = datetime.datetime.now()
@ -104,7 +109,9 @@ async def tiktok_videos_links_get(
old_size = len(links) old_size = len(links)
for o in new_links: for o in new_links:
links.add(o) if not o in links_set:
links_set.add(o)
links.append(o)
await session.page.mouse.wheel(0, 100) await session.page.mouse.wheel(0, 100)
@ -115,6 +122,9 @@ async def tiktok_videos_links_get(
if elapsed > max_time: if elapsed > max_time:
break; break;
if len(links_set) > max_links:
break
if old_size < len(links): if old_size < len(links):
logger.info(json.dumps(dict( logger.info(json.dumps(dict(
total=len(links), total=len(links),
@ -122,7 +132,7 @@ async def tiktok_videos_links_get(
scroll_y=await session.page.evaluate('window.scrollY'), scroll_y=await session.page.evaluate('window.scrollY'),
))) )))
return links return list(links)[:max_links]
def tiktok_videos_meta(links: Iterable[str]) -> Iterable[dict[str, Any]]: def tiktok_videos_meta(links: Iterable[str]) -> Iterable[dict[str, Any]]:
res = [] res = []