Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのNews APIでトップニュースを取得する方法【サンプルコード付き】


News APIは、世界中のニュースサイトから記事を検索・取得できる非常に有名なAPIです。このAPIを利用すれば、任意のニュースサイトから最新のトップニュースの見出しを簡単に取得できます。

ただし、News APIを使うにはAPIキーが必要です。APIキーはNews API公式サイトで無料登録すると発行できますので、事前に取得しておきましょう。

サンプルコード:BBCのトップニュースを取得する

以下は、Pythonのrequestsライブラリを使って、BBC Newsのトップニュースの見出しを番号付きで表示するサンプルコードです。

import requests

def top_news():
    # BBC News API
    my_api_key = "ここにあなたのAPIキーを入力"
    my_url = f"https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey={my_api_key}"
    my_open_bbc_page = requests.get(my_url).json()
    my_article = my_open_bbc_page["articles"]

    my_results = []
    for ar in my_article:
        my_results.append(ar["title"])

    for i in range(len(my_results)):
        print(i + 1, my_results[i])

# ドライバーコード
if __name__ == '__main__':
    # 関数呼び出し
    top_news()

補足:上記コードは旧バージョン(v1)のエンドポイントを使用しています。現在のNews APIでは、/v2/top-headlines?sources=bbc-news&apiKey=... の形式が推奨されているため、環境に合わせてURLを読み替えてください。

pandas DataFrameを活用して扱いやすくする

取得したニュースデータを後から分析したり加工したりする場合は、pandasのDataFrameに変換しておくと格段に作業がしやすくなります。JSON形式のレスポンスは、pd.DataFrame.from_dict.apply([pd.Series]) を使うだけで、簡単にDataFrameへ変換できます。

import pandas as pd

# JSONレスポンスからDataFrameを作成
df = pd.DataFrame.from_dict(my_open_bbc_page)["articles"].apply(pd.Series)
print(df[["title", "description", "url"]])

DataFrame化しておけば、特定の列の抽出や並べ替え、CSVファイルへの保存なども直感的な操作で行えます。ニュースデータを継続的に収集・活用したい場合には、ぜひこの方法を取り入れてみてください。

  1. PythonのNews APIでトップニュースを取得する方法【サンプルコード付き】

    News APIは、世界中のニュースサイトから記事を検索・取得できる非常に有名なAPIです。このAPIを利用すれば、任意のニュースサイトから最新のトップニュースの見出しを簡単に取得できます。 ただし、News APIを使うにはAPIキーが必要です。APIキーはNews API公式サイトで無料登録すると発行できますので、事前に取得しておきましょう。 サンプルコード:BBCのトップニュースを取得する 以下は、Pythonのrequestsライブラリを使って、BBC Newsのトップニュースの見出しを番号付きで表示するサンプルコードです。 import requests def top_new

  2. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c