全球情报数据源接入指南(完整版)

基于 World Monitor 项目的 229+ 数据源
项目地址:https://github.com/koala73/worldmonitor
更新时间:2026-03-04


目录

  1. 新闻与媒体 RSS 源(150+)
  2. 实时 API 数据源(40+)
  3. 静态数据集(30+)
  4. 实时视频流(27)
  5. 接入方法总结
  6. 成本估算
  7. 技术栈要求

一、新闻与媒体 RSS 源(150+)

1.1 国际主流媒体

BBC News
  • RSS 地址
    • 世界新闻:http://feeds.bbci.co.uk/news/world/rss.xml
    • 商业新闻:http://feeds.bbci.co.uk/news/business/rss.xml
    • 科技新闻:http://feeds.bbci.co.uk/news/technology/rss.xml
    • 政治新闻:http://feeds.bbci.co.uk/news/politics/rss.xml
  • 接入方法
    // 使用 rss-parser
    import Parser from 'rss-parser';
    const parser = new Parser();
    const feed = await parser.parseURL('http://feeds.bbci.co.uk/news/world/rss.xml');
    
  • 更新频率:实时
  • 成本:免费
  • 限制:无
CNN
  • RSS 地址
    • 世界新闻:http://rss.cnn.com/rss/cnn_world.rss
    • 美国新闻:http://rss.cnn.com/rss/cnn_us.rss
    • 商业新闻:http://rss.cnn.com/rss/money_latest.rss
    • 科技新闻:http://rss.cnn.com/rss/cnn_tech.rss
  • 接入方法:同 BBC
  • 更新频率:实时
  • 成本:免费
  • 限制:无
Reuters
  • RSS 地址
    • 世界新闻:https://www.reutersagency.com/feed/?taxonomy=best-topics&post_type=best
    • 商业新闻:https://www.reutersagency.com/feed/?best-topics=business-finance&post_type=best
    • 科技新闻:https://www.reutersagency.com/feed/?best-topics=tech&post_type=best
  • 接入方法:同 BBC
  • 更新频率:实时
  • 成本:免费
  • 限制:无
Al Jazeera
  • RSS 地址
    • 英文版:https://www.aljazeera.com/xml/rss/all.xml
    • 中东新闻:https://www.aljazeera.com/xml/rss/middle-east.xml
    • 亚洲新闻:https://www.aljazeera.com/xml/rss/asia.xml
  • 接入方法:同 BBC
  • 更新频率:实时
  • 成本:免费
  • 限制:无
The Guardian
  • RSS 地址
    • 世界新闻:https://www.theguardian.com/world/rss
    • 英国新闻:https://www.theguardian.com/uk-news/rss
    • 科技新闻:https://www.theguardian.com/technology/rss
    • 商业新闻:https://www.theguardian.com/business/rss
  • 接入方法:同 BBC
  • 更新频率:实时
  • 成本:免费
  • 限制:无
New York Times
  • RSS 地址
    • 世界新闻:https://rss.nytimes.com/services/xml/rss/nyt/World.xml
    • 美国新闻:https://rss.nytimes.com/services/xml/rss/nyt/US.xml
    • 商业新闻:https://rss.nytimes.com/services/xml/rss/nyt/Business.xml
    • 科技新闻:https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml
  • 接入方法:同 BBC
  • 更新频率:实时
  • 成本:免费
  • 限制:无

1.2 地区性媒体

欧洲

Euronews

  • RSS 地址https://www.euronews.com/rss
  • 接入方法:同 BBC
  • 成本:免费

Deutsche Welle (DW)

  • RSS 地址
    • 英文版:https://rss.dw.com/xml/rss-en-all
    • 德文版:https://rss.dw.com/xml/rss-de-all
  • 接入方法:同 BBC
  • 成本:免费

France 24

  • RSS 地址
    • 英文版:https://www.france24.com/en/rss
    • 法文版:https://www.france24.com/fr/rss
  • 接入方法:同 BBC
  • 成本:免费
亚洲

NHK World (日本)

  • RSS 地址https://www3.nhk.or.jp/nhkworld/en/rss.xml
  • 接入方法:同 BBC
  • 成本:免费

The Straits Times (新加坡)

  • RSS 地址https://www.straitstimes.com/news/world/rss.xml
  • 接入方法:同 BBC
  • 成本:免费

South China Morning Post (香港)

  • RSS 地址https://www.scmp.com/rss/91/feed
  • 接入方法:同 BBC
  • 成本:免费
中东

Haaretz (以色列)

  • RSS 地址https://www.haaretz.com/cmlink/1.628752
  • 接入方法:同 BBC
  • 成本:免费

The Times of Israel

  • RSS 地址https://www.timesofisrael.com/feed/
  • 接入方法:同 BBC
  • 成本:免费
非洲

News24 (南非)

  • RSS 地址https://feeds.news24.com/articles/news24/TopStories/rss
  • 接入方法:同 BBC
  • 成本:免费

1.3 专业媒体

财经类

Bloomberg

  • RSS 地址
    • 市场新闻:https://www.bloomberg.com/feed/podcast/markets-daily.xml
    • 科技新闻:https://www.bloomberg.com/feed/podcast/bloomberg-technology.xml
  • 接入方法:同 BBC
  • 成本:免费(部分内容需订阅)

Financial Times

  • RSS 地址https://www.ft.com/?format=rss
  • 接入方法:同 BBC
  • 成本:免费(部分内容需订阅)

Wall Street Journal

  • RSS 地址
    • 世界新闻:https://feeds.a.dj.com/rss/RSSWorldNews.xml
    • 商业新闻:https://feeds.a.dj.com/rss/WSJcomUSBusiness.xml
  • 接入方法:同 BBC
  • 成本:免费(部分内容需订阅)

The Economist

  • RSS 地址https://www.economist.com/the-world-this-week/rss.xml
  • 接入方法:同 BBC
  • 成本:免费(部分内容需订阅)
科技类

TechCrunch

  • RSS 地址https://techcrunch.com/feed/
  • 接入方法:同 BBC
  • 成本:免费

Wired

  • RSS 地址https://www.wired.com/feed/rss
  • 接入方法:同 BBC
  • 成本:免费

The Verge

  • RSS 地址https://www.theverge.com/rss/index.xml
  • 接入方法:同 BBC
  • 成本:免费

Ars Technica

  • RSS 地址https://feeds.arstechnica.com/arstechnica/index
  • 接入方法:同 BBC
  • 成本:免费
安全与国防类

Defense News

  • RSS 地址https://www.defensenews.com/arc/outboundfeeds/rss/
  • 接入方法:同 BBC
  • 成本:免费

Jane’s Defence Weekly

  • RSS 地址https://www.janes.com/feeds/defence-weekly
  • 接入方法:同 BBC
  • 成本:免费(部分内容需订阅)

The War Zone

  • RSS 地址https://www.thedrive.com/the-war-zone/rss
  • 接入方法:同 BBC
  • 成本:免费

1.4 社交媒体与论坛

Reddit
  • RSS 地址(任意 subreddit):
    • 格式:https://www.reddit.com/r/{subreddit}/.rss
    • 示例:https://www.reddit.com/r/worldnews/.rss
  • 接入方法:同 BBC
  • 成本:免费
Hacker News
  • RSS 地址
    • 首页:https://news.ycombinator.com/rss
    • 最新:https://news.ycombinator.com/newest
  • 接入方法:同 BBC
  • 成本:免费

二、实时 API 数据源(40+)

2.1 地震数据

USGS Earthquake API
  • API 地址https://earthquake.usgs.gov/fdsnws/event/1/
  • 文档:https://earthquake.usgs.gov/fdsnws/event/1/
  • 接入方法
    // 获取最近 24 小时的地震数据
    const response = await fetch(
      'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2026-03-03&endtime=2026-03-04'
    );
    const data = await response.json();
    
  • 更新频率:实时
  • 成本:免费
  • 限制:无
EMSC (European-Mediterranean Seismological Centre)
  • API 地址https://www.seismicportal.eu/fdsnws/event/1/
  • 文档:https://www.seismicportal.eu/fdsn-wsevent.html
  • 接入方法:同 USGS
  • 成本:免费

2.2 天气数据

OpenWeatherMap
  • API 地址https://api.openweathermap.org/data/2.5/
  • 文档:https://openweathermap.org/api
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      `https://api.openweathermap.org/data/2.5/weather?q=London&appid=${apiKey}`
    );
    const data = await response.json();
    
  • 更新频率:每 10 分钟
  • 成本
    • 免费层:60 calls/min,1,000,000 calls/month
    • 付费层:$40/month 起
  • 限制:需要注册 API Key
WeatherAPI
  • API 地址https://api.weatherapi.com/v1/
  • 文档:https://www.weatherapi.com/docs/
  • 接入方法:同 OpenWeatherMap
  • 成本
    • 免费层:1,000,000 calls/month
    • 付费层:$4/month 起
  • 限制:需要注册 API Key

2.3 航班追踪

OpenSky Network
  • API 地址https://opensky-network.org/api/
  • 文档:https://openskynetwork.github.io/opensky-api/
  • 接入方法
    // 获取特定区域的航班
    const response = await fetch(
      'https://opensky-network.org/api/states/all?lamin=45.8389&lomin=5.9962&lamax=47.8229&lomax=10.5226'
    );
    const data = await response.json();
    
  • 更新频率:每 10 秒
  • 成本:免费
  • 限制
    • 匿名用户:400 credits/day
    • 注册用户:4000 credits/day
ADS-B Exchange
  • API 地址https://www.adsbexchange.com/data/
  • 文档:https://www.adsbexchange.com/data/
  • 接入方法:需要 API Key
  • 成本
    • 免费层:有限制
    • 付费层:$10/month 起
  • 限制:需要注册 API Key

2.4 船舶追踪

MarineTraffic API
  • API 地址https://services.marinetraffic.com/api/
  • 文档:https://www.marinetraffic.com/en/ais-api-services
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      `https://services.marinetraffic.com/api/exportvessel/${apiKey}/v:5/protocol:json/shipid:310627000`
    );
    const data = await response.json();
    
  • 更新频率:实时
  • 成本
    • 免费层:50 credits/month
    • 付费层:€50/month 起
  • 限制:需要注册 API Key
VesselFinder API
  • API 地址https://api.vesselfinder.com/
  • 文档:https://api.vesselfinder.com/docs/
  • 接入方法:同 MarineTraffic
  • 成本
    • 免费层:100 requests/day
    • 付费层:$29/month 起
  • 限制:需要注册 API Key

2.5 火灾数据

NASA FIRMS (Fire Information for Resource Management System)
  • API 地址https://firms.modaps.eosdis.nasa.gov/api/
  • 文档:https://firms.modaps.eosdis.nasa.gov/api/
  • 接入方法
    // 需要 API Key(免费)
    const mapKey = 'YOUR_MAP_KEY';
    const response = await fetch(
      `https://firms.modaps.eosdis.nasa.gov/api/country/csv/${mapKey}/VIIRS_SNPP_NRT/USA/1`
    );
    const data = await response.text();
    
  • 更新频率:每 3 小时
  • 成本:免费
  • 限制:需要注册 Map Key(免费)

2.6 空气质量

OpenAQ
  • API 地址https://api.openaq.org/v2/
  • 文档:https://docs.openaq.org/
  • 接入方法
    // 无需 API Key
    const response = await fetch(
      'https://api.openaq.org/v2/latest?limit=100&country=US'
    );
    const data = await response.json();
    
  • 更新频率:每小时
  • 成本:免费
  • 限制:无
IQAir
  • API 地址https://api.airvisual.com/v2/
  • 文档:https://www.iqair.com/air-pollution-data-api
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      `https://api.airvisual.com/v2/city?city=Los Angeles&state=California&country=USA&key=${apiKey}`
    );
    const data = await response.json();
    
  • 成本
    • 免费层:10,000 calls/month
    • 付费层:$29/month 起
  • 限制:需要注册 API Key

2.7 卫星数据

Satellite Tracker (N2YO)
  • API 地址https://api.n2yo.com/rest/v1/satellite/
  • 文档:https://www.n2yo.com/api/
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      `https://api.n2yo.com/rest/v1/satellite/positions/25544/41.702/-76.014/0/2/&apiKey=${apiKey}`
    );
    const data = await response.json();
    
  • 成本
    • 免费层:1000 transactions/hour
    • 付费层:$9.95/month 起
  • 限制:需要注册 API Key

2.8 金融市场

Alpha Vantage
  • API 地址https://www.alphavantage.co/query
  • 文档:https://www.alphavantage.co/documentation/
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      `https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=IBM&interval=5min&apikey=${apiKey}`
    );
    const data = await response.json();
    
  • 成本
    • 免费层:25 requests/day
    • 付费层:$49.99/month 起
  • 限制:需要注册 API Key
Twelve Data
  • API 地址https://api.twelvedata.com/
  • 文档:https://twelvedata.com/docs
  • 接入方法:同 Alpha Vantage
  • 成本
    • 免费层:800 requests/day
    • 付费层:$29/month 起
  • 限制:需要注册 API Key

2.9 加密货币

CoinGecko
  • API 地址https://api.coingecko.com/api/v3/
  • 文档:https://www.coingecko.com/en/api/documentation
  • 接入方法
    // 无需 API Key(免费层)
    const response = await fetch(
      'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd'
    );
    const data = await response.json();
    
  • 成本
    • 免费层:10-50 calls/min
    • 付费层:$129/month 起
  • 限制:免费层有速率限制
CoinMarketCap
  • API 地址https://pro-api.coinmarketcap.com/v1/
  • 文档:https://coinmarketcap.com/api/documentation/v1/
  • 接入方法
    // 需要 API Key
    const apiKey = 'YOUR_API_KEY';
    const response = await fetch(
      'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
      {
        headers: {
          'X-CMC_PRO_API_KEY': apiKey
        }
      }
    );
    const data = await response.json();
    
  • 成本
    • 免费层:10,000 calls/month
    • 付费层:$29/month 起
  • 限制:需要注册 API Key

2.10 社交媒体

Twitter API v2
  • API 地址https://api.twitter.com/2/
  • 文档:https://developer.twitter.com/en/docs/twitter-api
  • 接入方法
    // 需要 Bearer Token
    const bearerToken = 'YOUR_BEARER_TOKEN';
    const response = await fetch(
      'https://api.twitter.com/2/tweets/search/recent?query=earthquake',
      {
        headers: {
          'Authorization': `Bearer ${bearerToken}`
        }
      }
    );
    const data = await response.json();
    
  • 成本
    • 免费层:500,000 tweets/month
    • 付费层:$100/month 起
  • 限制:需要开发者账号
Reddit API
  • API 地址https://oauth.reddit.com/
  • 文档:https://www.reddit.com/dev/api/
  • 接入方法
    // 需要 OAuth 认证
    const response = await fetch(
      'https://oauth.reddit.com/r/worldnews/hot',
      {
        headers: {
          'Authorization': `Bearer ${accessToken}`,
          'User-Agent': 'YourApp/1.0'
        }
      }
    );
    const data = await response.json();
    
  • 成本:免费
  • 限制:需要注册应用

三、静态数据集(30+)

3.1 地理数据

Natural Earth
  • 数据地址:https://www.naturalearthdata.com/downloads/
  • 数据类型
    • 国家边界(1:10m, 1:50m, 1:110m)
    • 城市位置
    • 河流、湖泊
    • 道路、铁路
  • 格式:Shapefile, GeoJSON
  • 接入方法
    # 下载国家边界数据
    wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries.zip
    unzip ne_10m_admin_0_countries.zip
    
  • 成本:免费
  • 许可:Public Domain
OpenStreetMap
  • 数据地址:https://planet.openstreetmap.org/
  • 数据类型
    • 道路网络
    • 建筑物
    • 兴趣点(POI)
    • 地形数据
  • 格式:OSM XML, PBF
  • 接入方法
    # 下载特定区域数据(使用 Geofabrik)
    wget https://download.geofabrik.de/europe/germany-latest.osm.pbf
    
  • 成本:免费
  • 许可:ODbL

3.2 人口数据

WorldPop
  • 数据地址:https://www.worldpop.org/
  • 数据类型
    • 人口密度
    • 人口分布
    • 人口统计
  • 格式:GeoTIFF, CSV
  • 接入方法
    # 下载特定国家人口数据
    wget https://data.worldpop.org/GIS/Population/Global_2000_2020/2020/USA/usa_ppp_2020.tif
    
  • 成本:免费
  • 许可:CC BY 4.0
UN Population Data
  • 数据地址:https://population.un.org/wpp/Download/Standard/CSV/
  • 数据类型
    • 国家人口统计
    • 人口预测
    • 生育率、死亡率
  • 格式:CSV, Excel
  • 接入方法:直接下载
  • 成本:免费
  • 许可:Public Domain

3.3 经济数据

World Bank Open Data
  • 数据地址:https://data.worldbank.org/
  • API 地址:https://api.worldbank.org/v2/
  • 数据类型
    • GDP
    • 贸易数据
    • 发展指标
  • 格式:JSON, XML, CSV
  • 接入方法
    // 获取美国 GDP 数据
    const response = await fetch(
      'https://api.worldbank.org/v2/country/USA/indicator/NY.GDP.MKTP.CD?format=json'
    );
    const data = await response.json();
    
  • 成本:免费
  • 限制:无
IMF Data
  • 数据地址:https://data.imf.org/
  • 数据类型
    • 国际金融统计
    • 国际收支
    • 政府财政
  • 格式:CSV, Excel
  • 接入方法:直接下载或 API
  • 成本:免费
  • 限制:无

3.4 冲突数据

ACLED (Armed Conflict Location & Event Data Project)
  • 数据地址:https://acleddata.com/data-export-tool/
  • 数据类型
    • 冲突事件
    • 抗议活动
    • 暴力事件
  • 格式:CSV, Excel
  • 接入方法
    # 需要注册账号(免费)
    # 通过网页导出工具下载
    
  • 成本:免费(需注册)
  • 许可:CC BY-NC 4.0
UCDP (Uppsala Conflict Data Program)
  • 数据地址:https://ucdp.uu.se/downloads/
  • 数据类型
    • 武装冲突
    • 单边暴力
    • 非国家冲突
  • 格式:CSV, Excel
  • 接入方法:直接下载
  • 成本:免费
  • 许可:CC BY 4.0

3.5 灾害数据

EM-DAT (Emergency Events Database)
  • 数据地址:https://www.emdat.be/
  • 数据类型
    • 自然灾害
    • 技术灾害
    • 灾害影响
  • 格式:CSV, Excel
  • 接入方法:需要注册账号(免费)
  • 成本:免费(需注册)
  • 许可:学术使用免费
GDACS (Global Disaster Alert and Coordination System)
  • 数据地址:https://www.gdacs.org/
  • API 地址:https://www.gdacs.org/xml/rss.xml
  • 数据类型
    • 地震
    • 热带气旋
    • 洪水
    • 火山爆发
  • 格式:RSS, GeoJSON
  • 接入方法
    // RSS feed
    const response = await fetch('https://www.gdacs.org/xml/rss.xml');
    const data = await response.text();
    
  • 成本:免费
  • 限制:无

3.6 环境数据

NASA Earth Data
  • 数据地址:https://earthdata.nasa.gov/
  • 数据类型
    • 卫星影像
    • 气候数据
    • 地表温度
    • 植被指数
  • 格式:HDF, GeoTIFF, NetCDF
  • 接入方法:需要注册账号(免费)
  • 成本:免费
  • 许可:Public Domain
Copernicus Open Access Hub
  • 数据地址:https://scihub.copernicus.eu/
  • 数据类型
    • Sentinel 卫星数据
    • 地表监测
    • 海洋监测
  • 格式:SAFE, GeoTIFF
  • 接入方法:需要注册账号(免费)
  • 成本:免费
  • 许可:Free and Open

四、实时视频流(27)

4.1 新闻直播

BBC News Live
  • 流地址:https://www.bbc.com/news/live
  • 接入方法:网页嵌入或 HLS 流
  • 成本:免费
  • 限制:地区限制
Al Jazeera English Live
  • 流地址:https://www.youtube.com/c/AlJazeeraEnglish/live
  • 接入方法:YouTube Live API
  • 成本:免费
  • 限制:无
France 24 Live
  • 流地址:https://www.youtube.com/c/FRANCE24English/live
  • 接入方法:YouTube Live API
  • 成本:免费
  • 限制:无
DW News Live
  • 流地址:https://www.youtube.com/c/dwnews/live
  • 接入方法:YouTube Live API
  • 成本:免费
  • 限制:无

4.2 监控摄像头

EarthCam
  • 网站:https://www.earthcam.com/
  • 流类型
    • 城市景观
    • 旅游景点
    • 交通监控
  • 接入方法:网页嵌入
  • 成本:免费
  • 限制:部分摄像头需付费
Skyline Webcams
  • 网站:https://www.skylinewebcams.com/
  • 流类型
    • 全球城市
    • 海滩
    • 山区
  • 接入方法:网页嵌入
  • 成本:免费
  • 限制:无

4.3 交通监控

各国交通部门摄像头
  • 美国:https://www.fhwa.dot.gov/trafficinfo/
  • 英国:https://www.trafficengland.com/
  • 德国:https://www.autobahn.de/
  • 接入方法:各网站提供的 API 或嵌入代码
  • 成本:免费
  • 限制:各国政策不同

4.4 机场监控

FlightRadar24 Live Streams
  • 网站:https://www.flightradar24.com/
  • 流类型:机场实时视频
  • 接入方法:网页嵌入
  • 成本:免费(部分需订阅)
  • 限制:部分功能需付费

五、接入方法总结

5.1 RSS 源接入

推荐库

  • Node.js: rss-parser
  • Python: feedparser
  • Go: gofeed

示例代码(Node.js)

import Parser from 'rss-parser';

const parser = new Parser();

async function fetchRSS(url) {
  try {
    const feed = await parser.parseURL(url);
    return feed.items.map(item => ({
      title: item.title,
      link: item.link,
      pubDate: item.pubDate,
      content: item.contentSnippet
    }));
  } catch (error) {
    console.error(`Error fetching RSS from ${url}:`, error);
    return [];
  }
}

// 使用示例
const bbcNews = await fetchRSS('http://feeds.bbci.co.uk/news/world/rss.xml');

5.2 REST API 接入

推荐库

  • Node.js: axios, node-fetch
  • Python: requests, httpx
  • Go: net/http

示例代码(Node.js)

import axios from 'axios';

async function fetchAPI(url, headers = {}) {
  try {
    const response = await axios.get(url, { headers });
    return response.data;
  } catch (error) {
    console.error(`Error fetching API from ${url}:`, error);
    return null;
  }
}

// 使用示例
const earthquakes = await fetchAPI(
  'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2026-03-03'
);

5.3 WebSocket 接入

推荐库

  • Node.js: ws
  • Python: websockets
  • Go: gorilla/websocket

示例代码(Node.js)

import WebSocket from 'ws';

function connectWebSocket(url) {
  const ws = new WebSocket(url);

  ws.on('open', () => {
    console.log('WebSocket connected');
  });

  ws.on('message', (data) => {
    const message = JSON.parse(data);
    console.log('Received:', message);
  });

  ws.on('error', (error) => {
    console.error('WebSocket error:', error);
  });

  return ws;
}

// 使用示例
const ws = connectWebSocket('wss://example.com/stream');

5.4 数据存储

推荐方案

  • 时序数据: TimescaleDB, InfluxDB
  • 文档数据: MongoDB, PostgreSQL (JSONB)
  • 图数据: Neo4j
  • 缓存: Redis

示例(TimescaleDB)

-- 创建表
CREATE TABLE earthquake_events (
  time TIMESTAMPTZ NOT NULL,
  latitude DOUBLE PRECISION,
  longitude DOUBLE PRECISION,
  magnitude DOUBLE PRECISION,
  depth DOUBLE PRECISION,
  place TEXT
);

-- 转换为时序表
SELECT create_hypertable('earthquake_events', 'time');

-- 插入数据
INSERT INTO earthquake_events (time, latitude, longitude, magnitude, depth, place)
VALUES (NOW(), 34.05, -118.25, 4.5, 10.0, 'Los Angeles, CA');

六、成本估算

6.1 免费数据源(150+)

完全免费,无限制

  • 所有 RSS 源(150+)
  • USGS 地震数据
  • OpenAQ 空气质量
  • Natural Earth 地理数据
  • World Bank 经济数据
  • ACLED 冲突数据(需注册)

总成本:$0/月

6.2 免费层足够使用(30+)

免费层额度充足

  • OpenWeatherMap: 1,000,000 calls/month
  • WeatherAPI: 1,000,000 calls/month
  • OpenSky Network: 4000 credits/day(注册用户)
  • CoinGecko: 10-50 calls/min
  • Twitter API: 500,000 tweets/month
  • NASA FIRMS: 无限制(需注册)

总成本:$0/月(正常使用)

6.3 需要付费的数据源(10+)

低成本付费

  • MarineTraffic: €50/month(基础版)
  • VesselFinder: $29/month(基础版)
  • Alpha Vantage: $49.99/month(高级版)
  • Twelve Data: $29/month(基础版)
  • IQAir: $29/month(基础版)

总成本:$186.99/月(如果全部订阅)

6.4 推荐配置

最小配置(完全免费)

  • 150+ RSS 源
  • USGS 地震
  • OpenAQ 空气质量
  • OpenSky Network 航班追踪
  • CoinGecko 加密货币
  • 总成本:$0/月

标准配置(低成本)

  • 最小配置 +
  • OpenWeatherMap 付费版: $40/month
  • MarineTraffic 基础版: €50/month
  • 总成本:~$90/月

完整配置(全功能)

  • 标准配置 +
  • Alpha Vantage: $49.99/month
  • Twelve Data: $29/month
  • IQAir: $29/month
  • 总成本:~$198/月

七、技术栈要求

7.1 后端

必需

  • Node.js 18+ 或 Python 3.10+
  • TypeScript(推荐)
  • 数据库: PostgreSQL 14+ + TimescaleDB

推荐库

  • rss-parser: RSS 解析
  • axios: HTTP 请求
  • ws: WebSocket 连接
  • pg: PostgreSQL 驱动
  • bull: 任务队列

7.2 前端

必需

  • React 18+ 或 Vue 3+
  • TypeScript
  • Vite 构建工具

地图库

  • deck.gl: 3D 地球仪
  • MapLibre GL: 2D 地图
  • Cesium: 高级 3D 可视化(可选)

7.3 部署

推荐方案

  • Docker + Docker Compose
  • Nginx 反向代理
  • PM2 进程管理(Node.js)
  • Systemd 服务管理(Linux)

云服务(可选):

  • AWS: EC2 + RDS + S3
  • DigitalOcean: Droplet + Managed Database
  • Vercel: 前端托管
  • Railway: 全栈托管

7.4 监控

推荐工具

  • Grafana: 数据可视化
  • Prometheus: 指标收集
  • Loki: 日志聚合
  • Sentry: 错误追踪

八、快速开始

8.1 克隆项目

git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor

8.2 安装依赖

npm install

8.3 配置环境变量

cp .env.example .env
# 编辑 .env 文件,添加 API Keys

8.4 启动开发服务器

npm run dev

8.5 构建生产版本

npm run build

九、常见问题

Q1: 如何获取 API Keys?

:访问各数据源的官网,注册账号后在开发者控制台获取。

Q2: 免费层额度不够怎么办?

  1. 优化请求频率(使用缓存)
  2. 使用多个账号轮换
  3. 升级到付费层

Q3: 如何处理速率限制?

  1. 使用任务队列(Bull, BullMQ)
  2. 实现指数退避重试
  3. 缓存数据减少请求

Q4: 数据存储需要多大空间?

  • 最小配置: 10GB(1 个月数据)
  • 标准配置: 50GB(3 个月数据)
  • 完整配置: 200GB(1 年数据)

Q5: 如何确保数据实时性?

  1. 使用 WebSocket 连接(如果支持)
  2. 设置合理的轮询间隔(1-10 分钟)
  3. 使用 Redis 缓存最新数据

十、进阶主题

10.1 数据清洗

推荐工具

  • Pandas (Python)
  • Lodash (JavaScript)
  • Apache Spark (大数据)

示例

function cleanEarthquakeData(data) {
  return data
    .filter(event => event.properties.mag >= 2.5) // 过滤小地震
    .map(event => ({
      time: new Date(event.properties.time),
      location: event.geometry.coordinates,
      magnitude: event.properties.mag,
      depth: event.geometry.coordinates[2],
      place: event.properties.place
    }));
}

10.2 数据聚合

推荐方案

  • TimescaleDB 连续聚合
  • Redis Streams
  • Apache Kafka

示例(TimescaleDB)

-- 创建连续聚合视图
CREATE MATERIALIZED VIEW earthquake_hourly
WITH (timescaledb.continuous) AS
SELECT
  time_bucket('1 hour', time) AS hour,
  COUNT(*) AS event_count,
  AVG(magnitude) AS avg_magnitude,
  MAX(magnitude) AS max_magnitude
FROM earthquake_events
GROUP BY hour;

-- 自动刷新策略
SELECT add_continuous_aggregate_policy('earthquake_hourly',
  start_offset => INTERVAL '3 hours',
  end_offset => INTERVAL '1 hour',
  schedule_interval => INTERVAL '1 hour');

10.3 AI 分析

推荐模型

  • OpenAI GPT-4: 文本分析
  • Claude: 长文本理解
  • Gemini: 多模态分析

示例

import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY
});

async function analyzeNews(articles) {
  const prompt = `分析以下新闻文章,提取关键事件和趋势:\n\n${articles.join('\n\n')}`;
  
  const message = await anthropic.messages.create({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 4096,
    messages: [{
      role: 'user',
      content: prompt
    }]
  });
  
  return message.content[0].text;
}

10.4 告警系统

推荐方案

  • Telegram Bot: 即时通知
  • Email: 详细报告
  • Webhook: 集成其他系统

示例

import TelegramBot from 'node-telegram-bot-api';

const bot = new TelegramBot(process.env.TELEGRAM_BOT_TOKEN);

async function sendAlert(chatId, event) {
  const message = `
🚨 地震警报

震级: ${event.magnitude}
位置: ${event.place}
深度: ${event.depth} km
时间: ${event.time}
  `;
  
  await bot.sendMessage(chatId, message);
}

十一、资源链接

11.1 官方文档

  • World Monitor: https://github.com/koala73/worldmonitor
  • deck.gl: https://deck.gl/
  • MapLibre GL: https://maplibre.org/
  • TimescaleDB: https://docs.timescale.com/

11.2 社区

  • GitHub Discussions: https://github.com/koala73/worldmonitor/discussions
  • Discord: (如果有)
  • Reddit: r/OSINT, r/geospatial

11.3 相关项目

  • Palantir Gotham: 商业情报平台(闭源)
  • OSINT Framework: https://osintframework.com/
  • Bellingcat: https://www.bellingcat.com/

十二、许可证

本指南基于 World Monitor 项目(AGPL-3.0)编写。

数据源许可

  • 大部分数据源为公共领域或 CC BY 许可
  • 商业使用前请检查各数据源的具体许可条款

更新时间:2026-03-04
作者:谛听
版本:v1.0

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐