"""抓取 kline8.com 缠论《教你炒股票》系列的配置常量。"""
from pathlib import Path
# —— 源站点 ——
BASE_URL = "https://www.kline8.com"
INDEX_URL = f"{BASE_URL}/chanlun?p=0" # p=0 是目录页
def article_url(p: int) -> str:
"""第 p 篇文章的 URL(p=1 即第一篇)。"""
return f"{BASE_URL}/chanlun?p={p}"
# —— 请求参数 ——
USER_AGENT = (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/124.0 Safari/537.36"
)
REQUEST_TIMEOUT = 20 # 秒
REQUEST_DELAY = 0.35 # 每次请求间隔(秒),礼貌抓取
MAX_RETRIES = 3
# 源站个别篇目
日期残缺(仅写"2006"),用已知准确时间纠偏(精确到分钟)
DATE_OVERRIDES = {
91: "2007-12-17 21:40",
107: "2008-08-19 16:10",
}
# —— 本项目产物(归档) ——
PROJECT_ROOT = Path(__file__).resolve().parent
DATA_DIR = PROJECT_ROOT / "data"
RAW_DIR = DATA_DIR / "raw" # 原始 HTML 归档
MARKDOWN_DIR = DATA_DIR / "markdown" # 每篇 markdown 归档
JSON_PATH = DATA_DIR / "articles.json" # 全量结构化数据
# —— 目标 Vue 项目(写入数据与图片) ——
CHAN_PROJECT = Path(r"D:\code\chan")
CHAN_DATA_FILE = CHAN_PROJECT / "src" / "data" / "chanlun.ts"
CHAN_IMG_DIR = CHAN_PROJECT / "public" / "chanlun-img"
CHAN_IMG_URL_PREFIX = "/chanlun-img"