定期的な作業をPythonで自動化すると、手間を省きながら効率的に情報を集めることができます。今回は、Pythonで週に1回、日本で最も検索されたTOP10のキーワードを取得し、その内容をデスクトップに出力する仕組みを紹介します。
ステップ1: 必要なライブラリをインストール
以下のライブラリを使用します。インストールが必要なものは、事前にターミナルでインストールしてください。
pip install openai schedule
ステップ2: プログラムのコード
以下がPythonコードの全体です。
import openai
import schedule
import time
import os
# OpenAI APIキーの設定
openai.api_key = "your_openai_api_key"
# デスクトップパスを取得
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
def fetch_top_searches():
# ChatGPT APIを使って日本の検索トレンドTOP10を取得する例
prompt = (
"Please list the top 10 most searched keywords in Japan for this week "
"and provide a brief explanation for each keyword."
)
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are an assistant for search trends."},
{"role": "user", "content": prompt},
],
)
# キーワードと説明を取得
result = response['choices'][0]['message']['content']
# 結果をデスクトップに保存
file_path = os.path.join(desktop_path, "top_searches.txt")
with open(file_path, "w", encoding="utf-8") as file:
file.write(result)
print(f"Search trends saved to {file_path}")
# スケジュール設定: 週に1回実行
schedule.every().week.at("10:00").do(fetch_top_searches)
# スケジューラーを実行
print("Task scheduler started. Press Ctrl+C to stop.")
while True:
schedule.run_pending()
time.sleep(1)
コード解説
- ChatGPT APIを利用
- OpenAIの
ChatCompletion
エンドポイントを活用し、検索トレンドのTOP10を取得します。 - プロンプトで検索トレンドを自然言語で質問することで、簡単に情報を収集できます。
- OpenAIの
- スケジュール設定
schedule
ライブラリを使い、every().week.at("10:00")
で週1回実行されるようにスケジュールします。
- デスクトップに保存
- 抽出した情報は、デスクトップに「top_searches.txt」として保存します。
実行結果
- 指定した時間にスクリプトが実行され、ChatGPTからトレンド情報が取得されます。
- デスクトップに以下のような内容のファイルが生成されます。
1. Keyword1 - Explanation about the keyword.
2. Keyword2 - Explanation about the keyword.
...
10. Keyword10 - Explanation about the keyword.
補足: ChatGPT APIの活用について
ChatGPT APIを使うと、最新の情報やアイデアを取得できます。この例では検索トレンドを取得していますが、他にも以下のような用途があります:
- 特定トピックに関する要約
- カスタマイズされたリサーチ
- レポート生成の補助
別の記事で、ChatGPT APIの使い方やトラブルシューティングについて詳しく解説する予定ですので、そちらもお楽しみに!
まとめ
今回のコードで、Pythonを使ったタスクスケジュールの基礎とChatGPT APIの活用例を学べたと思います。この仕組みを応用すれば、さらに多くの業務効率化が可能です。ぜひ実践してみてください!
コメント