crawl_config.json 4.92 KB
{
  "version": "1.0",
  "skill_name": "topic-selector",
  "description": "选题筛选技能 - 热点数据采集配置",

  "data_sources": [
    {
      "name": "微博热搜",
      "url": "https://weibo.com/aj/_hotsearch",
      "type": "api",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
        "Referer": "https://weibo.com"
      },
      "parse_rule": {
        "root": "data.realtime",
        "fields": ["word", "raw_hot", "note", "num"]
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "min_interval_ms": 2000
      }
    },
    {
      "name": "抖音热榜",
      "url": "https://www.douyin.com/aweme/v1/web/hot/search/list/",
      "type": "api",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": "data.word_list",
        "fields": ["word", "hot_value", "event_time"]
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "min_interval_ms": 2000
      }
    },
    {
      "name": "百度热搜",
      "url": "https://top.baidu.com/board?tab=realtime",
      "type": "html",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": ".item-wrap",
        "fields": ["title", "hotScore", "desc"],
        "selector": ".hero-title,.hot-index"
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "min_interval_ms": 3000
      }
    },
    {
      "name": "知乎热榜",
      "url": "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true",
      "type": "api",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": "data",
        "fields": ["title", "detail_text", "target"]["children"]["url"]
      },
      "rate_limit": {
        "requests_per_minute": 10,
        "min_interval_ms": 2000
      }
    },
    {
      "name": "小红书热点",
      "url": "https://www.xiaohongshu.com/explore",
      "type": "html",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": ".note-item",
        "fields": ["title", "user_info.nickname", "likes"]
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "min_interval_ms": 3000
      }
    },
    {
      "name": "36氪",
      "url": "https://www.36kr.com/newsflashes",
      "type": "html",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": ".newsflash-item",
        "fields": ["title", "pub_time", "click_count"]
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "min_interval_ms": 3000
      }
    },
    {
      "name": "猫眼电影",
      "url": "https://piaofang.maoyan.com/movie/boxoffice?typeId=1&dateType=1",
      "type": "html",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": ".movie-item",
        "fields": ["name", "boxoffice", "aver_price"]
      },
      "rate_limit": {
        "requests_per_minute": 3,
        "min_interval_ms": 5000
      }
    },
    {
      "name": "Google Trends",
      "url": "https://trends.google.com/trends/api/dailytrends?hl=zh-CN&tz=480&geo=CN",
      "type": "api",
      "method": "GET",
      "headers": {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
      },
      "parse_rule": {
        "root": "default.trendingSearchesDays",
        "fields": ["title.query", "formattedTraffic"]
      },
      "rate_limit": {
        "requests_per_minute": 6,
        "min_interval_ms": 3000
      }
    }
  ],

  "crawl_schedule": {
    "interval_minutes": 5,
    "full_sync_interval_minutes": 60,
    "max_concurrent_requests": 3
  },

  "storage": {
    "database": "data/topic_db.sqlite",
    "cache_ttl_seconds": 300,
    "max_history_days": 30
  },

  "quality_rules": {
    "min_data_points": 100,
    "deduplication": true,
    " freshness_threshold_minutes": 10
  },

  "error_handling": {
    "max_retries": 3,
    "retry_delay_ms": 5000,
    "fallback_to_cache": true
  }
}