|
24 | 24 | import sys |
25 | 25 | from typing import Any |
26 | 26 |
|
| 27 | +from logutil import get_logger |
| 28 | + |
| 29 | +logger = get_logger(__name__) |
| 30 | + |
27 | 31 | import httpx |
28 | 32 |
|
29 | 33 | HEADERS = { |
@@ -54,7 +58,7 @@ def fetch_baidu(top: int = 30) -> list[dict]: |
54 | 58 | for i, it in enumerate(items[:top]) if isinstance(it, dict) and it.get("word") |
55 | 59 | ] |
56 | 60 | except Exception as e: |
57 | | - print(f"⚠️ 百度: {e}", file=sys.stderr) |
| 61 | + logger.warning("百度: %s", e) |
58 | 62 | return [] |
59 | 63 |
|
60 | 64 |
|
@@ -98,12 +102,12 @@ def fetch_twitter(top: int = 15, keywords: list[str] | None = None) -> list[dict |
98 | 102 | "retweets": tweet.get("retweet_count", 0), |
99 | 103 | }) |
100 | 104 | except FileNotFoundError: |
101 | | - print("⚠️ xreach 未安装,跳过 Twitter", file=sys.stderr) |
| 105 | + logger.warning("xreach 未安装,跳过 Twitter") |
102 | 106 | return results |
103 | 107 | except subprocess.TimeoutExpired: |
104 | | - print(f"⚠️ xreach 超时: {query}", file=sys.stderr) |
| 108 | + logger.warning("xreach 超时: %s", query) |
105 | 109 | except Exception as e: |
106 | | - print(f"⚠️ Twitter ({query}): {e}", file=sys.stderr) |
| 110 | + logger.warning("Twitter (%s): %s", query, e) |
107 | 111 |
|
108 | 112 | # 去重 |
109 | 113 | seen = set() |
@@ -137,7 +141,7 @@ def fetch_weibo(top: int = 20) -> list[dict]: |
137 | 141 | if it.get("word") |
138 | 142 | ] |
139 | 143 | except Exception as e: |
140 | | - print(f"⚠️ 微博: {e}", file=sys.stderr) |
| 144 | + logger.warning("微博: %s", e) |
141 | 145 | return [] |
142 | 146 |
|
143 | 147 |
|
@@ -168,7 +172,7 @@ def fetch_zhihu(top: int = 20) -> list[dict]: |
168 | 172 | }) |
169 | 173 | return results |
170 | 174 | except Exception as e: |
171 | | - print(f"⚠️ 知乎: {e}", file=sys.stderr) |
| 175 | + logger.warning("知乎: %s", e) |
172 | 176 | return [] |
173 | 177 |
|
174 | 178 |
|
@@ -198,7 +202,7 @@ def fetch_via_jina(url: str, platform: str = "jina") -> list[dict]: |
198 | 202 | }) |
199 | 203 | return results |
200 | 204 | except Exception as e: |
201 | | - print(f"⚠️ Jina ({url}): {e}", file=sys.stderr) |
| 205 | + logger.warning("Jina (%s): %s", url, e) |
202 | 206 | return [] |
203 | 207 |
|
204 | 208 |
|
@@ -242,7 +246,7 @@ def fetch_tophub(board_id: str, platform_name: str, top: int = 30) -> list[dict] |
242 | 246 | results[-1]["heat"] = int(hm.group(1)) * 10000 |
243 | 247 | return results |
244 | 248 | except Exception as e: |
245 | | - print(f"⚠️ tophub ({platform_name}): {e}", file=sys.stderr) |
| 249 | + logger.warning("tophub (%s): %s", platform_name, e) |
246 | 250 | return [] |
247 | 251 |
|
248 | 252 |
|
@@ -282,7 +286,7 @@ def fetch_all( |
282 | 286 |
|
283 | 287 | total = sum(len(v) for v in results.values()) |
284 | 288 | parts = [f"{k} {len(v)}" for k, v in results.items() if v] |
285 | | - print(f"🔥 热搜: {total} 条 ({', '.join(parts) or '全部失败'})", file=sys.stderr) |
| 289 | + logger.info("热搜: %s 条 (%s)", total, ", ".join(parts) or "全部失败") |
286 | 290 | return results |
287 | 291 |
|
288 | 292 |
|
|
0 commit comments