この記事が解決するお悩み
- 最新のGoogleニュースをPython使って取得したい
- pygooglenewsの使い方が分からない
- pygooglenewsのサンプルコードが知りたい
目次
はじめに
今回はPythonを使って、登録不要・無料でお手軽にGoogleニュースを取得できる方法を紹介していきます。非常に短いコードで完結するので、初心者の方にも使い勝手がよい仕様となっております。
今回使うのは、「pygooglenews」というパッケージです。このパッケージでは、ヘッドラインのトップニュースを取得したり、クリエ(検索キーワード)を指定して最新ニュースを取得したり、日付範囲を指定して特定の日時のニュースを取得したりできます。
この記事では、検索キーワードを指定して、最新ニュースの「タイトル・URL・日付」を取得する方法を説明していきます。
事前準備
早速、パッケージのインストールから行なっていきましょう。
$ pip install pygooglenews --upgrade
Pythonのコード
以下、検索条件を指定してGoogleニュースを取得するスクリプトです。非常に短いスクリプトで完結しています。
from pygooglenews import GoogleNews
#言語および地域指定(もちろん日本以外も可)
gn = GoogleNews(lang = 'ja', country = 'JP')
def get_titles(search):
news = []
search = gn.search(search)
newsitem = search['entries']
for item in newsitem:
titles = {
'title': item.title,
'url': item.link,
'date': item.published
}
news.append(titles)
return news
get_titlesと定義した関数の引数searchに「検索キーワード」を入力すれば、ニュース情報が取得できます。
それでは早速実行してみましょう。今回は試しに「ワクチン」というキーワードでニュース取得してみます。
import pandas as pd
#実行
news = get_titles('ワクチン')
#データ確認用
df_news = pd.DataFrame(news)
df_news.head()
実行できたら、次はpandasを使ってデータ確認用の出力結果を確認してみましょう。このように「タイトル・URL・日付」が出力できています。

念のため、実際のGoogleニュースでも検索をかけて、ライブラリの精度検証を行ってみましょう。

Googleニュースでの直接検索と全く同じニュースが、最新記事の順できちんと取れています。