Python使って効率化!!―毎日楽しいニュースをLINEに届けるー
公開日
2021年2月18日
更新日
2021年2月18日
皆さんはニュースを見る際、何を使うことが多いでしょうか?テレビや新聞だけでなく、最近ではYahooニュースやSmart Newsなど、手軽に見ることができるものが数多くあります。例えば日本経済新聞であれば、様々な分野のニュースが表示されて、この中で自分の興味があるニュースをクリックすると記事の詳細を確認することができます。
また、特定の話題を正確に捉えるためには、複数の記事に目を通すこともあるでしょう。例えば、私は人工知能に関するニュースサイト「Ledge.ai」「AINOW」等を毎日確認しますが、見ておきたいニュースサイトの数が増えるほど一つずつアクセスする作業に手間も時間もかかります。さらに、ページごとにトップニュースの配置が違ったり、広告が表示されて見にくかったり、毎日見ることを考えれば、1つ1つ見ていく手間は省いておきたいところです。
そこでPythonの出番です。面倒なことはPythonに任せてしまいましょう。今回は、毎朝決まった時間に自分が見たい各ニュースサイトのトップ記事を集約して、自分のLINEに転送する仕組みを作ります。
まず、それぞれのニュース記事の収集を行うコードを作成します。インターネット上にあるデータをプログラミングを活用して収集することを「データスクレイピング」と呼びます。
続いて、取得したニュース情報をLINEに転送する仕組みを作りましょう。Pythonを使ってLINEに転送するのは、「LINE NOTIFY」を使えば簡単です。
また、せっかく自動的にニュースを収集するのですから、わざわざPythonを起動して実行ボタンを押さなくても毎朝決まった時間に収集してくれれば嬉しいですね。mac OSはcron、Windowsではタスクスケジューラを使用することで、決まった時間に作成したプログラムを実行させることができます。
完成したら、毎朝決まった時刻にLINEにニュースが届きます!
あとは朝起きた時に自分用にカスタムされたニュース一覧を見て、気になる新着ニュースがあればリンクから開くだけ。お手軽に自分専用の「まとめサイト」を作ることができました。
今回ご紹介した、スクレイピングした情報をLINEに転送することを応用すると、決まった時間でなくても、自分が応援しているアーティストのHPで新着情報や、コメントが急激に伸びたYahooニュースがあったらすぐに転送してくれる仕組みなどを作ることができます。Pythonは今回のようなwebページやLINEなどのアプリケーションとの連携に優れ、かつシンプルなコードで様々なプログラムを作成することができるので、ぜひ試してみてください。
なお、プログラムによるインターネット上のデータ収集をする際は、短時間に何度もアクセスしてウェブページに負荷をかけないように注意して行いましょう。また、ウェブサイトによってはスクレイピング自体を禁止しているものもありますので、収集する際はウェブサイトの規約を確認することを忘れずに。
Pythonを使ってみたい!プログラミングで何か作成してみたい!と思われた方はこちらに無料セミナーにお気軽にご参加ください。
それではまた。
------
本記事が面白い!と思った方、こちらの書籍がおすすめです^^
スクレイピング・ハッキング・ラボ Pythonで自動化する未来型生活
齊藤 貴義(著) インプレスR&D