如何抓取 Worldometers 获取实时全球统计数据

了解如何抓取 Worldometers 以提取实时人口数据、COVID-19 统计数据和全球环境指标,用于研究和分析。

覆盖率:GlobalInternationalUSAEuropeAsia
可用数据5 字段
标题位置发布日期分类属性
所有可提取字段
国家名称总人口年度变化率 %净变化密度 (人/Km²)土地面积 (Km²)移民(净额)生育率年龄中位数城镇人口 %世界份额累计 COVID 病例新增病例累计死亡新增死亡累计康复现存病例重症/危重病例总检测量二氧化碳排放量
技术要求
需要JavaScript
无需登录
无分页
无官方API
检测到反机器人保护
Rate LimitingIP BlockingUser-Agent Filtering403 Forbidden ErrorsCloudflare

检测到反机器人保护

速率限制
限制每个IP/会话在一段时间内的请求数。可通过轮换代理、请求延迟和分布式抓取绕过。
IP封锁
封锁已知的数据中心IP和标记地址。需要住宅或移动代理才能有效绕过。
User-Agent Filtering
403 Forbidden Errors
Cloudflare
企业级WAF和机器人管理。使用JavaScript挑战、验证码和行为分析。需要带隐身设置的浏览器自动化。

关于Worldometers

了解Worldometers提供什么以及可以提取哪些有价值的数据。

全球综合数据平台

Worldometers 是一个备受推崇的参考网站,提供大量全球主题的实时统计数据。它由一个国际研究人员和开发人员团队运营,以其实时计数器和精心更新的数据表而闻名。该平台已成为需要最新全球数据的记者、研究人员和政府机构的关键资源。

多样化的数据类别

该网站涵盖的数据范围极其广泛,从世界人口、政府支出到环境指标和健康统计。在全球大流行期间,它成为了追踪 COVID-19 的主要来源,提供了数百个国家在病例、死亡和检测方面的细粒度数据。这些信息的深度使其成为进行纵向研究的宝库。

抓取 Worldometers 的价值

抓取 Worldometers 允许开发人员和分析师构建实时仪表板并进行历史趋势分析。由于该网站汇总了来自数百个官方来源的数据,以编程方式提取这些信息可以节省数千小时的手动收集时间,从而实现自动化报告和复杂的基于数据的洞察。

关于Worldometers

为什么要抓取Worldometers?

了解从Worldometers提取数据的商业价值和用例。

全球范围内监测公共卫生趋势和大流行指标

开展关于人口统计和人口增长的学术研究

针对全球重大事件实现自动化数据驱动型新闻报道

追踪环境影响和碳排放统计数据

进行竞争情报和市场趋势分析

维护实时统计计数器的历史存档

抓取挑战

抓取Worldometers时可能遇到的技术挑战。

处理因缺少浏览器请求头而导致的 403 Forbidden 错误

提取需要 JavaScript 渲染的动态实时计数器

解析具有多个 tbody 标签的复杂嵌套 HTML 表格结构

管理高频数据轮询期间的激进 IP 封禁

清洗包含逗号和加号等非标准字符的数值数据

使用AI抓取Worldometers

无需编码。通过AI驱动的自动化在几分钟内提取数据。

工作原理

1

描述您的需求

告诉AI您想从Worldometers提取什么数据。只需用自然语言输入 — 无需编码或选择器。

2

AI提取数据

我们的人工智能浏览Worldometers,处理动态内容,精确提取您要求的数据。

3

获取您的数据

接收干净、结构化的数据,可导出为CSV、JSON,或直接发送到您的应用和工作流程。

为什么使用AI进行抓取

通过内置的代理和 User-Agent 轮换自动绕过 403 Forbidden 错误
无需手动配置浏览器即可处理动态 JavaScript 渲染的计数器
使用无代码选择器工具轻松定位大表中的特定列
安排自动化运行,以精确的时间间隔捕获数据用于历史记录
直接导出到 Google Sheets 或 JSON 以进行即时数据可视化
无需信用卡提供免费套餐无需设置

AI让您无需编写代码即可轻松抓取Worldometers。我们的AI驱动平台利用人工智能理解您想要什么数据 — 只需用自然语言描述,AI就会自动提取。

How to scrape with AI:
  1. 描述您的需求: 告诉AI您想从Worldometers提取什么数据。只需用自然语言输入 — 无需编码或选择器。
  2. AI提取数据: 我们的人工智能浏览Worldometers,处理动态内容,精确提取您要求的数据。
  3. 获取您的数据: 接收干净、结构化的数据,可导出为CSV、JSON,或直接发送到您的应用和工作流程。
Why use AI for scraping:
  • 通过内置的代理和 User-Agent 轮换自动绕过 403 Forbidden 错误
  • 无需手动配置浏览器即可处理动态 JavaScript 渲染的计数器
  • 使用无代码选择器工具轻松定位大表中的特定列
  • 安排自动化运行,以精确的时间间隔捕获数据用于历史记录
  • 直接导出到 Google Sheets 或 JSON 以进行即时数据可视化

Worldometers的无代码网页抓取工具

AI驱动抓取的点击式替代方案

Browse.ai、Octoparse、Axiom和ParseHub等多种无代码工具可以帮助您在不编写代码的情况下抓取Worldometers。这些工具通常使用可视化界面来选择数据,但可能在处理复杂的动态内容或反爬虫措施时遇到困难。

无代码工具的典型工作流程

1
安装浏览器扩展或在平台注册
2
导航到目标网站并打开工具
3
通过点击选择要提取的数据元素
4
为每个数据字段配置CSS选择器
5
设置分页规则以抓取多个页面
6
处理验证码(通常需要手动解决)
7
配置自动运行的计划
8
将数据导出为CSV、JSON或通过API连接

常见挑战

学习曲线

理解选择器和提取逻辑需要时间

选择器失效

网站更改可能会破坏整个工作流程

动态内容问题

JavaScript密集型网站需要复杂的解决方案

验证码限制

大多数工具需要手动处理验证码

IP封锁

过于频繁的抓取可能导致IP被封

Worldometers的无代码网页抓取工具

Browse.ai、Octoparse、Axiom和ParseHub等多种无代码工具可以帮助您在不编写代码的情况下抓取Worldometers。这些工具通常使用可视化界面来选择数据,但可能在处理复杂的动态内容或反爬虫措施时遇到困难。

无代码工具的典型工作流程
  1. 安装浏览器扩展或在平台注册
  2. 导航到目标网站并打开工具
  3. 通过点击选择要提取的数据元素
  4. 为每个数据字段配置CSS选择器
  5. 设置分页规则以抓取多个页面
  6. 处理验证码(通常需要手动解决)
  7. 配置自动运行的计划
  8. 将数据导出为CSV、JSON或通过API连接
常见挑战
  • 学习曲线: 理解选择器和提取逻辑需要时间
  • 选择器失效: 网站更改可能会破坏整个工作流程
  • 动态内容问题: JavaScript密集型网站需要复杂的解决方案
  • 验证码限制: 大多数工具需要手动处理验证码
  • IP封锁: 过于频繁的抓取可能导致IP被封

代码示例

import requests
from bs4 import BeautifulSoup

# 需要设置请求头以防止 403 Forbidden 错误
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}

url = 'https://www.worldometers.info/coronavirus/'

try:
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 定位主要统计表格
    table = soup.find('table', id='main_table_countries_today')
    rows = table.find_all('tr')[9:20] # 跳过表头和汇总行
    
    for row in rows:
        cells = row.find_all('td')
        if len(cells) > 1:
            country = cells[1].text.strip()
            cases = cells[2].text.strip()
            print(f'国家: {country} | 总病例数: {cases}')
except Exception as e:
    print(f'抓取失败: {e}')

使用场景

最适合JavaScript较少的静态HTML页面。非常适合博客、新闻网站和简单的电商产品页面。

优势

  • 执行速度最快(无浏览器开销)
  • 资源消耗最低
  • 易于使用asyncio并行化
  • 非常适合API和静态页面

局限性

  • 无法执行JavaScript
  • 在SPA和动态内容上会失败
  • 可能难以应对复杂的反爬虫系统

如何用代码抓取Worldometers

Python + Requests
import requests
from bs4 import BeautifulSoup

# 需要设置请求头以防止 403 Forbidden 错误
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}

url = 'https://www.worldometers.info/coronavirus/'

try:
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 定位主要统计表格
    table = soup.find('table', id='main_table_countries_today')
    rows = table.find_all('tr')[9:20] # 跳过表头和汇总行
    
    for row in rows:
        cells = row.find_all('td')
        if len(cells) > 1:
            country = cells[1].text.strip()
            cases = cells[2].text.strip()
            print(f'国家: {country} | 总病例数: {cases}')
except Exception as e:
    print(f'抓取失败: {e}')
Python + Playwright
from playwright.sync_api import sync_playwright

def run_scraper():
    with sync_playwright() as p:
        # 启动无头浏览器以处理动态计数器
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        page.goto('https://www.worldometers.info/')
        
        # 等待人口计数器元素可见
        page.wait_for_selector('.r-counter span')
        
        # 从计数器中提取实时文本
        current_pop = page.inner_text('.r-counter span')
        print(f'当前全球人口: {current_pop}')
        
        browser.close()

run_scraper()
Python + Scrapy
import scrapy

class WorldometerSpider(scrapy.Spider):
    name = 'world_spider'
    start_urls = ['https://www.worldometers.info/coronavirus/']

    def parse(self, response):
        # 使用 CSS 选择器定位表格行
        rows = response.css('table#main_table_countries_today tr')
        for row in rows[9:50]: # 处理前 40 个国家
            yield {
                'country': row.css('td:nth-child(2) ::text').get(),
                'total_cases': row.css('td:nth-child(3) ::text').get(),
                'total_deaths': row.css('td:nth-child(5) ::text').get(),
                'new_cases': row.css('td:nth-child(4) ::text').get()
            }
Node.js + Puppeteer
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  
  // 设置 User-Agent 以避免被检测
  await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36');
  
  await page.goto('https://www.worldometers.info/world-population/population-by-country/');
  
  const countryData = await page.evaluate(() => {
    const rows = Array.from(document.querySelectorAll('table#example2 tr'));
    return rows.slice(1, 11).map(row => ({
      country: row.cells[1]?.innerText,
      population: row.cells[2]?.innerText
    }));
  });

  console.log(countryData);
  await browser.close();
})();

您可以用Worldometers数据做什么

探索Worldometers数据的实际应用和洞察。

公共卫生监测仪表板

医疗机构可以创建实时可视化图表,以追踪传染病跨境传播的情况。

如何实现:

  1. 1每小时抓取健康统计表
  2. 2清洗并将数据格式化为结构化的 CSV 或 JSON 文件
  3. 3将数据文件连接到 Power BI 等仪表板工具进行实时更新

使用Automatio从Worldometers提取数据,无需编写代码即可构建这些应用。

您可以用Worldometers数据做什么

  • 公共卫生监测仪表板

    医疗机构可以创建实时可视化图表,以追踪传染病跨境传播的情况。

    1. 每小时抓取健康统计表
    2. 清洗并将数据格式化为结构化的 CSV 或 JSON 文件
    3. 将数据文件连接到 Power BI 等仪表板工具进行实时更新
  • 人口增长分析

    城市规划者和经济学家可以利用人口增长率来预测未来的资源需求和基础设施建设。

    1. 提取特定区域的人口和密度指标
    2. 通过比较几个月内的快照来计算增长速度
    3. 将人口密度与当地经济指标联系起来
  • 环境影响报告

    非营利组织可以追踪实时的二氧化碳排放量和森林流失情况,以创建具有影响力的气候变化意识活动。

    1. 每天抓取 Worldometers 的“环境”板块
    2. 存档数据以构建排放率的纵向数据集
    3. 为社交媒体和新闻简报生成自动化的每周报告
  • 自动化金融情报

    投资者可以监测政府支出和经济指标,将其作为国家经济健康状况的代理指标。

    1. 针对特定的经济计数器,如“公共教育支出”
    2. 将数据导出到中央数据库,以便与市场表现进行交叉引用
    3. 针对全球支出模式的重大偏差设置警报
  • 教育数据可视化

    教育工作者可以利用全球实时数据,使用真实世界的数字为学生创建互动统计课程。

    1. 抓取健康、能源和人口方面的各种指标
    2. 为学生提供干净的数据集用于课堂分析项目
    3. 利用实时计数器演示“变化率”的概念
不仅仅是提示词

用以下方式提升您的工作流程 AI自动化

Automatio结合AI代理、网页自动化和智能集成的力量,帮助您在更短的时间内完成更多工作。

AI代理
网页自动化
智能工作流

抓取Worldometers的专业技巧

成功从Worldometers提取数据的专家建议。

模拟真实浏览器,在请求头中始终包含现代 User-Agent 和 'Accept-Language'。

在请求之间设置随机延迟,以模拟人类行为并避免触发频率限制。

针对特定的 'tbody' ID,因为 Worldometers 经常为“昨天”和“今天”的统计数据使用多个隐藏的 body。

在尝试将字符串数据转换为整数之前,使用数据清洗函数移除逗号和“+”号。

如果你需要每隔几分钟就轮询该站点多次,请利用旋转住宅代理以避免 IP 封禁。

定期检查站点结构,因为特定计数器的 ID 可能会在站点更新期间发生变化。

相关 Web Scraping

关于Worldometers的常见问题

查找关于Worldometers的常见问题答案