crawl_config.json 7.81 KB
{
  "version": "1.0",
  "project": "story-architect-hunt",
  "description": "网络小说大纲创作与互动剧剧本架构设计领域数据采集配置",
  "global_settings": {
    "request_interval_seconds": 3,
    "timeout_seconds": 30,
    "max_retries": 2,
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
    "respect_robots_txt": true
  },
  "data_sources": [
    {
      "id": "reedsy_beat_sheet",
      "name": "Reedsy - Save the Cat Beat Sheet",
      "type": "static",
      "base_url": "https://reedsy.com",
      "urls": [
        "https://reedsy.com/blog/guide/story-structure/save-the-cat-beat-sheet/"
      ],
      "selectors": {
        "title": "h1",
        "content": "article .content, .post-body, main",
        "sections": "h2, h3"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "request_interval_seconds": 6
      },
      "fields": [
        "title",
        "beat_name",
        "description",
        "novel_example",
        "percentage_position"
      ],
      "notes": "Save the Cat 15 节拍表完整指南,适合提取节拍表案例与小说字数映射数据。"
    },
    {
      "id": "novel_software_snowflake",
      "name": "Novel Software - Snowflake Method",
      "type": "static",
      "base_url": "https://www.novel-software.com",
      "urls": [
        "https://www.novel-software.com/snowflake-method/"
      ],
      "selectors": {
        "title": "h1",
        "content": "article, .entry-content",
        "steps": "h2, h3"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "en-US,en;q=0.9"
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "request_interval_seconds": 6
      },
      "fields": [
        "step_number",
        "step_title",
        "description",
        "time_estimate",
        "output_format"
      ],
      "notes": "雪花法 10 步详解,适合提取小说大纲创作的阶段化方法论。"
    },
    {
      "id": "arxiv_branched_narrative",
      "name": "arXiv - Interactive Branching Narratives",
      "type": "api",
      "base_url": "https://export.arxiv.org",
      "endpoints": [
        {
          "name": "search_query",
          "url": "https://export.arxiv.org/api/query?search_query=all:branching+narrative+interactive+drama&start=0&max_results=20&sortBy=submittedDate&sortOrder=descending"
        }
      ],
      "selectors": {
        "entries": "entry",
        "title": "title",
        "summary": "summary",
        "authors": "author name",
        "published": "published",
        "pdf_link": "link[title=pdf]"
      },
      "headers": {
        "Accept": "application/atom+xml"
      },
      "rate_limit": {
        "requests_per_minute": 20,
        "request_interval_seconds": 3
      },
      "fields": [
        "title",
        "abstract",
        "authors",
        "published_date",
        "pdf_url",
        "arxiv_id"
      ],
      "notes": "互动叙事与大语言模型辅助分支生成的最新学术研究。"
    },
    {
      "id": "zhihu_shuangdian",
      "name": "知乎 - 男频爽点设计方法论",
      "type": "static",
      "base_url": "https://zhuanlan.zhihu.com",
      "urls": [
        "https://zhuanlan.zhihu.com/p/336246849"
      ],
      "selectors": {
        "title": "h1",
        "content": "article.Post-Main.Post-NormalMain",
        "sections": "h2, h3"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8"
      },
      "rate_limit": {
        "requests_per_minute": 8,
        "request_interval_seconds": 8
      },
      "fields": [
        "title",
        "paragraph",
        "example",
        "methodology"
      ],
      "notes": "中国网文男频爽点设计的思维导图式方法论,适合提取爽点类型与节奏设计原则。"
    },
    {
      "id": "fanqienovel_ranking",
      "name": "番茄小说网 - 巅峰榜",
      "type": "static",
      "base_url": "https://fanqienovel.com",
      "urls": [
        "https://fanqienovel.com/page/6927282027989726728"
      ],
      "selectors": {
        "title": ".book-title, .book-name",
        "author": ".author-name",
        "category": ".category-tag",
        "score": ".score",
        "readers": ".reader-count"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Referer": "https://fanqienovel.com/"
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "request_interval_seconds": 10
      },
      "fields": [
        "book_title",
        "author",
        "category",
        "score",
        "reader_count",
        "detail_url"
      ],
      "notes": "番茄小说实时爆款榜单,用于采集头部作品的题材标签、评分与读者规模数据。"
    },
    {
      "id": "qidian_ranking",
      "name": "起点中文网 - 畅销榜",
      "type": "static",
      "base_url": "https://www.qidian.com",
      "urls": [
        "https://www.qidian.com/rank/hotsales/"
      ],
      "selectors": {
        "title": ".book-mid-info h4 a",
        "author": ".author .name",
        "category": ".author span",
        "intro": ".intro",
        "update": ".update span"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Referer": "https://www.qidian.com/"
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "request_interval_seconds": 10
      },
      "fields": [
        "book_title",
        "author",
        "category",
        "intro",
        "latest_chapter",
        "detail_url"
      ],
      "notes": "起点中文网付费畅销榜,用于分析付费市场对世界观自洽度与题材创新性的偏好。"
    },
    {
      "id": "pominis_branching",
      "name": "Pominis - Branching Narratives Design",
      "type": "static",
      "base_url": "https://www.pominis.com",
      "urls": [
        "https://www.pominis.com/blog/branching-narratives-explained-designing-choices-that-matter"
      ],
      "selectors": {
        "title": "h1",
        "content": "article",
        "sections": "h2, h3"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "en-US,en;q=0.9"
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "request_interval_seconds": 6
      },
      "fields": [
        "title",
        "structure_type",
        "design_principle",
        "case_study"
      ],
      "notes": "互动剧分支叙事设计的最佳实践,包含树状、折返、网络结构的对比分析。"
    },
    {
      "id": "tvtropes_storytelling",
      "name": "TV Tropes - Storytelling Tropes Database",
      "type": "static",
      "base_url": "https://tvtropes.org",
      "urls": [
        "https://tvtropes.org/pmwiki/pmwiki.php/Main/CharacterArc",
        "https://tvtropes.org/pmwiki/pmwiki.php/Main/ThreeActStructure",
        "https://tvtropes.org/pmwiki/pmwiki.php/Main/SnowflakePlot"
      ],
      "selectors": {
        "title": "#main-article h1",
        "content": "#main-article",
        "examples": ".folder"
      },
      "headers": {
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "en-US,en;q=0.9"
      },
      "rate_limit": {
        "requests_per_minute": 8,
        "request_interval_seconds": 8
      },
      "fields": [
        "trope_name",
        "description",
        "examples",
        "related_tropes"
      ],
      "notes": "叙事桥段与原型百科全书,适合提取经典桥段公式与跨文化案例。"
    }
  ]
}