新闻
This commit is contained in:
@@ -18,7 +18,7 @@ sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
from crawler.RmrbCrawler import RmrbCrawler
|
||||
from loguru import logger
|
||||
|
||||
from core.ResultDomain import ResultDomain
|
||||
|
||||
def parse_date(date_str) -> datetime:
|
||||
"""
|
||||
@@ -65,7 +65,6 @@ def main():
|
||||
"""
|
||||
)
|
||||
|
||||
parser.add_argument('--date', '-d', type=str, help='指定日期 (格式: YYYYMMDD)')
|
||||
parser.add_argument('--startDate', '-s', type=str, help='开始日期 (需与--end-date一起使用)')
|
||||
parser.add_argument('--endDate', '-e', type=str, help='结束日期 (需与--start-date一起使用)')
|
||||
parser.add_argument('--yesterday', '-y', action='store_true', help='查询昨日 (默认行为)')
|
||||
@@ -75,7 +74,6 @@ def main():
|
||||
|
||||
# 初始化变量
|
||||
output_file = args.output
|
||||
date = args.date
|
||||
start_date = args.startDate
|
||||
end_date = args.endDate
|
||||
is_yesterday = args.yesterday if args.yesterday else True # 默认查昨日
|
||||
@@ -86,25 +84,19 @@ def main():
|
||||
def clean(s):
|
||||
return s.strip() if s and isinstance(s, str) and s.strip() else None
|
||||
|
||||
date = clean(date)
|
||||
start_date = clean(start_date)
|
||||
end_date = clean(end_date)
|
||||
|
||||
try:
|
||||
crawler = RmrbCrawler()
|
||||
|
||||
# 单日模式
|
||||
if date:
|
||||
if start_date or end_date:
|
||||
raise ValueError("不能同时使用 date 和 startDate/endDate 参数")
|
||||
target_date = parse_date(date)
|
||||
logger.info(f"获取单日热点新闻: {target_date.strftime('%Y-%m-%d')}")
|
||||
if is_yesterday:
|
||||
target_date = datetime.now() - timedelta(days=1)
|
||||
date_str = target_date.strftime('%Y%m%d')
|
||||
logger.info(f"获取昨日热点新闻: {target_date.strftime('%Y-%m-%d')} (参数格式: {date_str})")
|
||||
result = crawler.getOneDayTrendingNews(target_date)
|
||||
|
||||
# 日期范围模式
|
||||
elif start_date and end_date:
|
||||
if date:
|
||||
raise ValueError("不能同时使用 date 和 startDate/endDate 参数")
|
||||
start_dt = parse_date(start_date)
|
||||
end_dt = parse_date(end_date)
|
||||
if start_dt > end_dt:
|
||||
@@ -114,17 +106,9 @@ def main():
|
||||
|
||||
# 只给一个边界
|
||||
elif start_date or end_date:
|
||||
raise ValueError("--start-date 和 --end-date 必须同时指定")
|
||||
|
||||
# 默认模式
|
||||
raise ValueError("--startDate 和 --endDate 必须同时指定")
|
||||
else:
|
||||
if is_yesterday:
|
||||
target_date = datetime.now() - timedelta(days=1)
|
||||
logger.info(f"获取昨日热点新闻: {target_date.strftime('%Y-%m-%d')}")
|
||||
else:
|
||||
target_date = datetime.now()
|
||||
logger.info(f"获取今日热点新闻: {target_date.strftime('%Y-%m-%d')}")
|
||||
result = crawler.getOneDayTrendingNews(target_date)
|
||||
result = ResultDomain(code=0, message="参数错误", success=False, data=None, dataList=None)
|
||||
|
||||
# 构造输出
|
||||
output = {
|
||||
|
||||
Reference in New Issue
Block a user