crawl_config.json 4.93 KB
{
  "skill_name": "production-director",
  "version": "1.0.0",
  "crawl_time": "2026-04-13T10:00:00Z",
  "global_settings": {
    "request_interval_seconds": 2,
    "max_retries": 3,
    "timeout_ms": 15000,
    "robots_txt_compliance": true,
    "user_agent": "Mozilla/5.0 (compatible; LemonAI-Hunter/1.0)"
  },
  "data_sources": [
    {
      "id": "lafilm_reelshort_bts",
      "name": "LA Film School — ReelShort Behind the Scenes",
      "type": "industry_blog",
      "base_url": "https://www.lafilm.edu",
      "endpoints": [
        {
          "path": "/blog/behind-the-scenes-with-reelshort/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1.entry-title",
            "content": "div.entry-content p",
            "publish_date": "time.entry-date"
          }
        }
      ],
      "rate_limit": "2s",
      "headers": {
        "Accept": "text/html,application/xhtml+xml"
      }
    },
    {
      "id": "filmustage_vertical_drama",
      "name": "Filmustage — Vertical Drama Explained",
      "type": "industry_blog",
      "base_url": "https://filmustage.com",
      "endpoints": [
        {
          "path": "/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "content": "article p, article h2, article h3",
            "publish_date": "meta[property='article:published_time']"
          }
        }
      ],
      "rate_limit": "2s",
      "headers": {
        "Accept-Language": "en-US,en;q=0.9"
      }
    },
    {
      "id": "studiobinder_production_docs",
      "name": "StudioBinder — Shot List & Call Sheet Templates",
      "type": "equipment_guide",
      "base_url": "https://www.studiobinder.com",
      "endpoints": [
        {
          "path": "/blog/shot-list-template-free-download/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "content": "div.post-content p, div.post-content h2",
            "download_links": "a[href$='.pdf'], a[href$='.xlsx']"
          }
        },
        {
          "path": "/blog/film-call-sheet-template/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "content": "div.post-content p, div.post-content h2"
          }
        }
      ],
      "rate_limit": "3s",
      "headers": {
        "Accept": "text/html"
      }
    },
    {
      "id": "nofilmschool_lighting",
      "name": "NoFilmSchool — Lighting Techniques in Film",
      "type": "equipment_guide",
      "base_url": "https://nofilmschool.com",
      "endpoints": [
        {
          "path": "/lighting-techniques-in-film",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "content": "div.field-body p, div.field-body h2",
            "author": "a[href^='/author']"
          }
        }
      ],
      "rate_limit": "2s",
      "headers": {
        "Accept": "text/html"
      }
    },
    {
      "id": "moviemachine_drama_lighting",
      "name": "Moviemachine — Drama Cinematography Lighting",
      "type": "case_study",
      "base_url": "https://www.moviemachine.tv",
      "endpoints": [
        {
          "path": "/video/lighting-techniques-for-drama-based-cinematography-part-1/210099029/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "description": "meta[name='description']",
            "transcript": "div.transcript p"
          }
        }
      ],
      "rate_limit": "3s",
      "headers": {
        "Accept": "text/html"
      }
    },
    {
      "id": "shaicreative_storyboard",
      "name": "Shai Creative — AI Storyboard Generator for Film",
      "type": "industry_blog",
      "base_url": "https://shaicreative.ai",
      "endpoints": [
        {
          "path": "/best-ai-storyboard-generator-for-film/",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1",
            "content": "article p, article h2, article h3",
            "feature_list": "article ul li"
          }
        }
      ],
      "rate_limit": "2s",
      "headers": {
        "Accept": "text/html"
      }
    },
    {
      "id": "arxiv_virtual_storyboard",
      "name": "arXiv — Dynamic Storyboard Generation in Virtual Environment",
      "type": "case_study",
      "base_url": "https://ar5iv.labs.arxiv.org",
      "endpoints": [
        {
          "path": "/html/2301.12688",
          "method": "GET",
          "parse_type": "html",
          "parse_rules": {
            "title": "h1.ltx_title",
            "abstract": "div.ltx_abstract p",
            "sections": "h2.ltx_title_section"
          }
        }
      ],
      "rate_limit": "2s",
      "headers": {
        "Accept": "text/html"
      }
    }
  ]
}