diff --git a/tools/crawler_util.py b/tools/crawler_util.py index c152b08..198234f 100644 --- a/tools/crawler_util.py +++ b/tools/crawler_util.py @@ -21,14 +21,12 @@ import re import urllib import urllib.parse from io import BytesIO -from typing import Dict, List, Optional, Tuple +from typing import Dict, List, Optional, Tuple, cast import httpx from PIL import Image, ImageDraw from playwright.async_api import Cookie, Page -from proxy.proxy_ip_pool import IpInfoModel - from . import utils @@ -173,8 +171,12 @@ def match_interact_info_count(count_str: str) -> int: return 0 -def format_proxy_info(ip_proxy_info: IpInfoModel) -> Tuple[Optional[Dict], Optional[Dict]]: +def format_proxy_info(ip_proxy_info) -> Tuple[Optional[Dict], Optional[Dict]]: """format proxy info for playwright and httpx""" + # fix circular import issue + from proxy.proxy_ip_pool import IpInfoModel + ip_proxy_info = cast(IpInfoModel, ip_proxy_info) + playwright_proxy = { "server": f"{ip_proxy_info.protocol}{ip_proxy_info.ip}:{ip_proxy_info.port}", "username": ip_proxy_info.user,