TradingAgents/tradingagents/dataflows/google.py

41 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Annotated
from datetime import datetime
from dateutil.relativedelta import relativedelta
from .googlenews_utils import getNewsData
def get_google_news(
query: Annotated[str, "用於搜索的查詢"],
curr_date: Annotated[str, "當前日期,格式為 yyyy-mm-dd"],
look_back_days: Annotated[int, "回溯天數"],
) -> str:
"""
使用 Google News 檢索新聞文章。
Args:
query (str): 用於搜索的查詢。
curr_date (str): 當前日期,格式為 yyyy-mm-dd。
look_back_days (int): 回溯天數。
Returns:
str: 包含新聞報導的格式化字串。
"""
query = query.replace(" ", "+")
start_date = datetime.strptime(curr_date, "%Y-%m-%d")
before = start_date - relativedelta(days=look_back_days)
before = before.strftime("%Y-%m-%d")
news_results = getNewsData(query, before, curr_date)
news_str = ""
for news in news_results:
news_str += (
f"### {news['title']} (來源: {news['source']}) \n\n{news['snippet']}\n\n"
)
if len(news_results) == 0:
return ""
return f"## {query} Google 新聞,從 {before}{curr_date}\n\n{news_str}"