Worldometersからリアルタイムのグローバル統計をスクレイピングする方法

研究や分析のために、Worldometersをスクレイピングしてリアルタイムの人口データ、COVID-19統計、世界の環境指標を抽出する方法を学びましょう。

カバー率:GlobalInternationalUSAEuropeAsia
利用可能なデータ5 フィールド
タイトル場所投稿日カテゴリ属性
すべての抽出可能フィールド
国名総人口年間変化率 %純増減人口密度 (P/Km²)土地面積 (Km²)純移動者数合計特殊出生率平均年齢都市人口比率 %世界シェアCOVID 合計症例数新規症例数合計死亡者数新規死亡者数合計回復者数現在患者数重症/危篤数合計検査数CO2 排出量
技術要件
JavaScript必須
ログイン不要
ページネーションなし
公式APIなし
ボット対策検出
Rate LimitingIP BlockingUser-Agent Filtering403 Forbidden ErrorsCloudflare

ボット対策検出

レート制限
時間あたりのIP/セッションごとのリクエストを制限。ローテーションプロキシ、リクエスト遅延、分散スクレイピングで回避可能。
IPブロック
既知のデータセンターIPとフラグ付きアドレスをブロック。効果的に回避するにはレジデンシャルまたはモバイルプロキシが必要。
User-Agent Filtering
403 Forbidden Errors
Cloudflare
エンタープライズ級のWAFとボット管理。JavaScriptチャレンジ、CAPTCHA、行動分析を使用。ステルス設定でのブラウザ自動化が必要。

Worldometersについて

Worldometersが提供するものと抽出可能な貴重なデータを発見してください。

包括的なグローバルデータプラットフォーム

Worldometers は、膨大な範囲のグローバルなトピックに関するリアルタイム統計を提供する、非常に評価の高いリファレンスサイトです。研究者や開発者の国際的なチームによって運営されており、ライブカウンターや細心の注意を払って更新されるデータテーブルで広く知られています。このプラットフォームは、最新のグローバルデータを必要とするジャーナリスト、研究者、政府機関にとって重要なリソースとなっています。

多様なデータカテゴリー

このウェブサイトには、世界人口や政府支出から環境指標、健康統計に至るまで、さまざまなデータが掲載されています。パンデミックの際には、数百カ国にわたる症例、死亡者、検査に関する詳細なデータを提供する COVID-19 追跡の主要な情報源となりました。この情報の深さは、長期的な研究を行う人々にとって宝の山と言えます。

Worldometers をスクレイピングする価値

Worldometers をスクレイピングすることで、開発者やアナリストはリアルタイムのダッシュボードを構築し、歴史的なトレンド分析を行うことができます。このサイトは何百もの公式ソースからデータを集約しているため、プログラムで情報を抽出することで、手動での収集にかかる膨大な時間を節約し、自動レポートや高度なデータ主導のインサイトを得ることが可能になります。

Worldometersについて

なぜWorldometersをスクレイピングするのか?

Worldometersからのデータ抽出のビジネス価値とユースケースを発見してください。

グローバルな公衆衛生の動向とパンデミック指標の監視

人口動態と人口増加に関する学術研究の実施

世界の主要な節目に関するデータ主導のニュース報道の自動化

環境への影響と炭素排出統計の追跡

コンペティティブ・インテリジェンスと市場トレンド分析の実施

リアルタイム統計カウンターの履歴アーカイブの維持

スクレイピングの課題

Worldometersのスクレイピング時に遭遇する可能性のある技術的課題。

ブラウザヘッダーの欠落による 403 Forbidden エラーの処理

JavaScript のレンダリングを必要とする動的なライブカウンターの抽出

複数の tbody タグを持つ複雑にネストされた HTML テーブル構造の解析

高頻度のデータポーリング時における積極的な IP ブロックの管理

カンマやプラス記号などの非標準文字を含む数値データのクリーニング

WorldometersをAIでスクレイピング

コーディング不要。AI搭載の自動化で数分でデータを抽出。

仕組み

1

必要なものを記述

Worldometersから抽出したいデータをAIに伝えてください。自然言語で入力するだけ — コードやセレクターは不要です。

2

AIがデータを抽出

人工知能がWorldometersをナビゲートし、動的コンテンツを処理し、あなたが求めたものを正確に抽出します。

3

データを取得

CSV、JSONでエクスポートしたり、アプリやワークフローに直接送信できる、クリーンで構造化されたデータを受け取ります。

なぜスクレイピングにAIを使うのか

組み込みのプロキシと User-Agent ローテーションにより、403 Forbidden エラーを自動的に回避
手動のブラウザ設定なしで、動的な JavaScript レンダリングが必要なカウンターを処理
ノーコードのセレクターツールを使用して、大規模なテーブルの特定の列を簡単にターゲットに設定
履歴ログのために、正確な間隔でデータをキャプチャする自動実行をスケジュール
Google Sheets や JSON に直接エクスポートして、即座にデータを可視化
クレジットカード不要無料プランありセットアップ不要

AIを使えば、コードを書かずにWorldometersを簡単にスクレイピングできます。人工知能搭載のプラットフォームが必要なデータを理解します — 自然言語で記述するだけで、AIが自動的に抽出します。

How to scrape with AI:
  1. 必要なものを記述: Worldometersから抽出したいデータをAIに伝えてください。自然言語で入力するだけ — コードやセレクターは不要です。
  2. AIがデータを抽出: 人工知能がWorldometersをナビゲートし、動的コンテンツを処理し、あなたが求めたものを正確に抽出します。
  3. データを取得: CSV、JSONでエクスポートしたり、アプリやワークフローに直接送信できる、クリーンで構造化されたデータを受け取ります。
Why use AI for scraping:
  • 組み込みのプロキシと User-Agent ローテーションにより、403 Forbidden エラーを自動的に回避
  • 手動のブラウザ設定なしで、動的な JavaScript レンダリングが必要なカウンターを処理
  • ノーコードのセレクターツールを使用して、大規模なテーブルの特定の列を簡単にターゲットに設定
  • 履歴ログのために、正確な間隔でデータをキャプチャする自動実行をスケジュール
  • Google Sheets や JSON に直接エクスポートして、即座にデータを可視化

Worldometers用ノーコードWebスクレイパー

AI搭載スクレイピングのポイント&クリック代替手段

Browse.ai、Octoparse、Axiom、ParseHubなどのノーコードツールは、コードを書かずにWorldometersをスクレイピングするのに役立ちます。これらのツールは視覚的なインターフェースを使用してデータを選択しますが、複雑な動的コンテンツやアンチボット対策には苦戦する場合があります。

ノーコードツールでの一般的なワークフロー

1
ブラウザ拡張機能をインストールするかプラットフォームに登録する
2
ターゲットWebサイトに移動してツールを開く
3
ポイント&クリックで抽出するデータ要素を選択する
4
各データフィールドのCSSセレクタを設定する
5
複数ページをスクレイピングするためのページネーションルールを設定する
6
CAPTCHAに対処する(多くの場合手動解決が必要)
7
自動実行のスケジュールを設定する
8
データをCSV、JSONにエクスポートするかAPIで接続する

一般的な課題

学習曲線

セレクタと抽出ロジックの理解に時間がかかる

セレクタの破損

Webサイトの変更によりワークフロー全体が壊れる可能性がある

動的コンテンツの問題

JavaScript多用サイトは複雑な回避策が必要

CAPTCHAの制限

ほとんどのツールはCAPTCHAに手動介入が必要

IPブロック

過度なスクレイピングはIPのブロックにつながる可能性がある

Worldometers用ノーコードWebスクレイパー

Browse.ai、Octoparse、Axiom、ParseHubなどのノーコードツールは、コードを書かずにWorldometersをスクレイピングするのに役立ちます。これらのツールは視覚的なインターフェースを使用してデータを選択しますが、複雑な動的コンテンツやアンチボット対策には苦戦する場合があります。

ノーコードツールでの一般的なワークフロー
  1. ブラウザ拡張機能をインストールするかプラットフォームに登録する
  2. ターゲットWebサイトに移動してツールを開く
  3. ポイント&クリックで抽出するデータ要素を選択する
  4. 各データフィールドのCSSセレクタを設定する
  5. 複数ページをスクレイピングするためのページネーションルールを設定する
  6. CAPTCHAに対処する(多くの場合手動解決が必要)
  7. 自動実行のスケジュールを設定する
  8. データをCSV、JSONにエクスポートするかAPIで接続する
一般的な課題
  • 学習曲線: セレクタと抽出ロジックの理解に時間がかかる
  • セレクタの破損: Webサイトの変更によりワークフロー全体が壊れる可能性がある
  • 動的コンテンツの問題: JavaScript多用サイトは複雑な回避策が必要
  • CAPTCHAの制限: ほとんどのツールはCAPTCHAに手動介入が必要
  • 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: {country} | Total Cases: {cases}')
except Exception as e:
    print(f'Scraping failed: {e}')

いつ使うか

JavaScriptが最小限の静的HTMLページに最適。ブログ、ニュースサイト、シンプルなEコマース製品ページに理想的。

メリット

  • 最速の実行(ブラウザオーバーヘッドなし)
  • 最小限のリソース消費
  • 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: {country} | Total Cases: {cases}')
except Exception as e:
    print(f'Scraping failed: {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 World Population: {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健康統計テーブルを1時間ごとにスクレイピングする
  2. 2データをクリーニングし、構造化された CSV または JSON ファイルにフォーマットする
  3. 3ライブ更新のためにデータファイルを Power BI などのダッシュボードツールに接続する

Automatioを使用してWorldometersからデータを抽出し、コードを書かずにこれらのアプリケーションを構築しましょう。

Worldometersデータで何ができるか

  • 公衆衛生モニタリングダッシュボード

    医療機関は、国境を越えた感染症の拡大を追跡するためのリアルタイムの可視化ツールを作成できます。

    1. 健康統計テーブルを1時間ごとにスクレイピングする
    2. データをクリーニングし、構造化された CSV または JSON ファイルにフォーマットする
    3. ライブ更新のためにデータファイルを Power BI などのダッシュボードツールに接続する
  • 人口増加分析

    都市計画者や経済学者は、人口増加率を利用して将来のリソースニーズやインフラ開発を予測できます。

    1. 特定地域の人口と密度の指標を抽出する
    2. 数ヶ月にわたるスナップショットを比較して成長速度を計算する
    3. 人口密度と地域の経済指標を相関させる
  • 環境影響レポート

    非営利団体は、リアルタイムの CO2 排出量や森林消失を追跡し、インパクトのある気候変動啓発キャンペーンを作成できます。

    1. Worldometers の「環境」セクションを毎日スクレイピングする
    2. データをアーカイブして、排出率の経時的なデータセットを構築する
    3. ソーシャルメディアやニュースレター向けに週次レポートを自動生成する
  • 自動化された金融インテリジェンス

    投資家は、国家の経済健全性の代替指標として、政府支出や経済指標を監視できます。

    1. 「公教育費」などの特定の経済カウンターをターゲットにする
    2. 市場パフォーマンスと照らし合わせるために、中央データベースにデータをエクスポートする
    3. 世界の支出パターンの大幅な逸脱に対するアラートを設定する
  • 教育用データ可視化

    教育者は、ライブのグローバルデータを使用して、現実の数値を用いた学生向けのインタラクティブな統計学の授業を作成できます。

    1. 健康、エネルギー、人口にわたる多様な指標をスクレイピングする
    2. 授業での分析プロジェクトのために、クリーンなデータセットを学生に提供する
    3. ライブカウンターを使用して「変化率」の概念を実証する
プロンプト以上のもの

ワークフローを強化する AI自動化

AutomatioはAIエージェント、ウェブ自動化、スマート統合のパワーを組み合わせ、より短時間でより多くのことを達成するお手伝いをします。

AIエージェント
ウェブ自動化
スマートワークフロー

Worldometersスクレイピングのプロのヒント

Worldometersからデータを正常に抽出するための専門家のアドバイス。

リクエストヘッダーに常に最新の User-Agent と 'Accept-Language' を含めることで、実際のブラウザを模倣します。

リクエスト間にランダムな待機時間を設定し、人間のような挙動を模倣することでレート制限を回避します。

Worldometersは「昨日」と「今日」の統計用に複数の非表示のボディを使用することが多いため、特定の 'tbody' IDを正確にターゲットにします。

文字列データを整数に変換する前に、カンマや '+' 記号を削除するデータクリーニング関数を実装します。

IP制限を避けるために、数分に1回以上の頻度でサイトをポーリングする必要がある場合は、ローテーションする住宅用プロキシ(residential proxies)を利用します。

サイトのアップデートにより特定のカウンターのIDが変更されることがあるため、定期的にサイト構造を確認してください。

関連 Web Scraping

Worldometersについてのよくある質問

Worldometersに関するよくある質問への回答を見つけてください