スキップしてメイン コンテンツに移動

RSSからYoutube/Podcast配信

RSSからYoutube/Podcast配信

皆さん、情報収集はどの様にされていますでしょうか?

私は最先端に情報に触れる為、海外ニュースをRSSで購読しているのですが、私の英語力/語彙力では時間が掛かかってしょうがない。

また、できれば目で読むのではなく、音声で聞き流しながら通勤や他の作業中に行いたい。

という事で自動でニュースを収集・要約・翻訳し、それをブログ・ポッドキャスト・Youtubeに自動投稿するPythonプログラムを作成して時短化しました。

その手法を公開してますので参考にしてください。


  1. Bloggerの立ち上げ方
  2. GCPとBloggerの連携
  3. 情報収集自動化
  4. Blogger自動投稿
  5. 本文要約
  6. 翻訳
  7. 音声作成
  8. 動画作成
  9. Youtubeにアップロード
  10. Youtubeの投稿制限の回避方法
  11. Podcast配信
  12. 翻訳・要約の改善(GPT-3)


以下のURLで上記から作成したブログやYoutubeを公開しています。参考までに見てください。


このブログの人気の投稿

Bloggerの立ち上げ

Bloggerとは BloggerはGoogleのサービスの一つで、無料でブログを始めることができます。 Googleアカウントが必要となりますので、ない方はアカウントの作成をお願いします。 Bloggerサイトへのログイン https://www.blogger.com/から「ブログの作成」を選択してください。 Googleアカウントを聞かれるので、Googleアカウントとパスワードを入力してください。 ブログの名前を入力 作成するブログの名前を決めます。これは後から変えられるのでとりあえずは書こうとしてる内容に沿ったものを記入してください。 ブログのURL(インターネット上の所在地)を作成します。 こちらも変更できる(※)のですがので、頻繁に変更すると読者や検索などから外されてしますので、個人名や法人名など変更しないことを前提に名付けた方が良いと思います。 (※「.blogspot.com」以外のカスタムドメインを自分でとって、それを設定することもできます) プロファイルの作成 ブログが作成されるとプロファイルの作成画面が出てきます。ブログ読者に見られることを意識して、ユーザー名やわかりやすい説明を記入しましょう。 以上でブログが作成できました。作成したURLをブラウザに打ち込んでみましょう! 貴方だけのブログサイトが立ち上がりました。 次は GCP(Google Cloud Platform)とBloggerを連携 させてみましょう。 参考: Blogger Help  

GPT-3を使った翻訳・要約

GPT-3とは 「Generative Pre-trained Transformer - 3」の略で、イーロン・マスクなどが出資しているOpenAIという団体が出している自然言語処理モデルになります。 以前までは予約しないと使えないものでしたが、今はアカウントを作成すれば誰でも使用することができるようになったので、この翻訳・要約機能を試してみました。 OpenAIのアカウントを作成 Googleアカウントでログインできるため、Googleアカウントを持っている方ならそのまま「Continue with Google」で入ってください。 このままPlaygroundで遊んでも良いですが、Pythonプログラムに使用するため、以下のURLから「Create New Secret Key」を押してAPI-Keyを作成しておいてください。 https://beta.openai.com/account/api-keys Pythonライブラリ openaiのライブラリやこれまでのRSSリーダー機能に必要なライブラリもインストールします。 $ pip install openai feedparser extractcontent3 Pythonプログラム RSSからURLを取得してHTML本文を取得する箇所に関しては以前のものを使いまわします。要約・翻訳のサンプルはPlaygroundから見れますがこれを少し手を加えつつ、パラメータをチューニングしておきました。 # coding: utf-8 import  os import  openai import  requests import  feedparser from  extractcontent3  import  ExtractContent openai.api_key =  "YourOpenAI-API-Key" extractor = ExtractContent () # オプション値を指定する opt =  { "threshold" : 50 } extractor.set_option ( opt )   ...