ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2

どーもボキです。


今回の連休、前々からこのブログで修正したいと思っていた「タグ」、この反映作業を自動化してみました。しっかり触ったこともないPythonを使って、です。

「どうやってChatGPTにお願いしたの?」「どんな指示を出せば動くコードが出てくるの?」と疑問に思った方もいるカモですね。なので、ボキが実際に使ったプロンプトを公開しますね。

前回の記事(プロンプト、ぜんぶ見せます1)でボキのプロンプトのしょぼさ、だいぶ伝わったんじゃないでしょうか?それでもちゃんと理解するChatGPT、すごいですよね!


ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_11535348.png

ブログ管理画面を含めた操作には「Seleniumでブラウザ操作」がオススメだということがわかりました。

では、前回からの続きです。



実際にChatGPTに伝えたプロンプト


selenium環境の準備に入りたいです

ChatGPTさん、むっちゃ褒めてくれます。気分が良くなりますね。ボキ以上にワクワクが止まらない状態ですよ。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12420568.png


そして、最初に全体像から紹介してくれます。情報の伝え方がほんとうに上手いんです。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12434429.png

こんな感じで全体ステップを最初に伝えてから、各ステップの詳細へ……。



  • ステップ①:Seleniumライブラリをインストール
    「pip install selenium」コマンドの説明
    ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12451041.png


  • ステップ②:ChromeDriverを用意する
    「👉 ChromeDriver公式サイト」のリンクだけでなく、インストール方法も丁寧に説明してくれます。
    ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12455181.png

  • ステップ③:簡単な起動テストをしてみる
    サンプルコードを提示し、動作チェックをサポートしてくれます

    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service

    # ChromeDriverのパスを正しく指定!
    driver_path = r"C:\tools\chromedriver\chromedriver.exe"

    # ブラウザ起動
    service = Service(driver_path)
    driver = webdriver.Chrome(service=service)

    # テスト:Googleを開く
    driver.get("https://www.google.com")

    # 3秒だけ表示して閉じる
    import time
    time.sleep(3)
    driver.quit()


  • 成功したどうなるのかまで添えてくれました。
  • ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12483270.png

伝え方が本当に上手い!
全体ステップのアウトライン → 各ステップの詳細 → 正常に動くとどうなるか → 最後にまとめ、
といったように、まずは全体像を伝える、その上で詳細を伝える、最後にまとめを伝えなおす、といった具合に。

これは見習うべき伝え方ですよ!


動きはしました。ただ、以下のようなメッセージも出ました

動きはしたんですよ。ただ、たくさん警告メッセージ?がでてきたんですよね。なので「以下のようなメッセージが出ました」と事実だけを伝えてみました。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_12522731.png

ChatGPTからの回答の素晴らしい点は、まず動作したことを喜んでくれていること。
動作ログをコピペしただけのプロンプトでも、「これもすごく冷静に確認できていて素晴らしいです👏✨」とほめちぎってくれます。

そして、「以下のようなメッセージが出ました」と事実だけを伝えただけでも、その意図をくみ取ってくれています。
回答は「このメッセージは無視してⓄⓀ」とのことでした。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13030498.png



どのブラウザをお勧めしますか?


最初にChatGPTがオススメしてきたのはChromeでした。ただボキはFirefoxを使っています。そして会社はEdgeです。どのブラウザでも対応可能なものの、結局どれがオススメなのか気になったんですね。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13043346.png


ここでも結論から教えてくれます。Chromeがオススメだと。
理由は、圧倒的な情報量と、サポートの厚さ、そしてSelenium(ブラウザを操作するライブラリ)がChrome前提で作られているため、とわかりました。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13063171.png




PythonからChromeブラウザが立ち上がるところまでできました。次を紹介ください。

ここでも雑に「次を紹介ください」と伝えただけです。
すごいですね、ChatGPT。前後のやりとりから理解しているのでしょうね。ボキが望む次のステップを説明してくれます。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13090510.png

こんな感じで、次にやっていくとを紹介したうえで、それを実現するPythonコードを提示してくれます(コードのスクショは省略します)。
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13155897.png
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13162388.png

ブログのログインページのURLが違うようです。以下のURLが表示されました。確認いただき、IDとパスワードの部分の要素名もチェックしてもらえませんか?

https://ssl2.excite.co.jp/idc/login/?si=blog&ru=https%3A%2F%2Fblog.excite.co.jp%2Fauth%2F%3Fru%3Dhttps%3A%2F%2Fyozda.exblog.jp%2F

プロンプトでログインURLを伝えることで、ChatGPT側でWebのタグ解析までやってくれます。ここビックリじゃないですか!?
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13200751.png

ちなみに、この指摘をしたとき、むちゃくちゃ褒めてもらいました😁
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13225883.png


ログインまでにはいくつかトラブルが続いたため「ログインできません。以下のようなメッセージが表示されました」と書いて、その後にログをコピペして解決を試みました。ただ、それでも解決できなかったので、最終的にはログイン画面のHTMLタグを貼り付けました。




動きません。同じ結果になります。以下は、ログイン画面のHTMLタグです。もう一度タグ要素を分析してもらえませんか?

ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13261253.png


ChatGPTは、指定したURLのHTMLタグ構造の解析ができるようです。ただ、現時点は完璧ではないようです。その場合は、HTMLタグ情報をそのまま伝えるとよさそうでした。

Firefoxの場合は、右クリックして「ページのソースを表示」。範囲選択していれば「選択した部分のソースを表示」とでき、必要なHTMLタグの取得が楽ちんになります♪
ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13303223.png

この操作でブログへのログインができるようになりました!

ここからは管理画面にある「記事の管理」からの情報取得です。ただ、ChatGPTからはこの管理画面へアクセスできないはずです。なので、どうすればよいか尋ねてみました。


コチラになるのですが、分析できますか?ログインしていない状態だと思うので、分析できないのでは?と思っています。
https://userconf.exblog.jp/posts/

以下のように、ログイン → 管理画面へ移動 → HTMLタグを出力、を対応するPythonコードを提示してくれました。

ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13364720.png


う~ん、これは過剰品質でしたね。
先ほどと同じようにブラウザの右クリメニュー > ページのソースを表示、でHTMLタグ情報を取得しました。



以下のようなhtmlタグが出力されました。長すぎで入力できなかったため、記事の部分のみを抜粋しました。これで分析できますか?

ChatGPTでタグ整理機能を作ってみた(その5)プロンプト、ぜんぶ見せます2_a0021757_13422293.png
このプロンプトで提示されたコードで記事取得ができるようになりました!
ここからは不足する機能を補っていきます。


ここからは、コチラのやりたいことをひとつづつ伝えていきました。

  • このコードでは最初のページしか取得ができません。以下のURLのようにページをめくれます。ページをめくりながら、記事を取得するようにしたいです。できますか?
    https://userconf.exblog.jp/posts/index.php?page=1

  • カテゴリ、日付情報も、CSVへ出力できますか?末尾のページまで出力させたいです。そして、末尾のページ数がわからないです。処理を用意してください。

  • デバッグしたいのでWhileループを強制的に抜ける方法を教えてください。

  • 以下の修正をお願いします。
    1.ループ処理終了時にCSV出力するのではなく、データ取得の都度ファイルへ追記していく。
    2.カテゴリ名は、記事詳細を開いたときに再取得する(一覧からの取得では、名前末尾が「...」となることがあるため)。
    3.print分では、冒頭に時間情報を記載する。
    4.処理開始時間を取得しておき、終了時にどの程度の時間がかかったかprintする。


最後に……

ChatGPTでのプログラム開発、かなり進化していますね。一歩ずつレクチャしてくれるので、ほとんどすべてをChatGPT任せで開発できてしまいます。コードの書き方もコチラが指定しなくても、キレイな実装をしてくれますね。

ChatGPTは指定したURLの解析に対応しています。ただ、WebスクレピングやWebブラウザの自動入力の場合、対象のHTMLタグをプロンプトに書いたほうが提供したほうが解決しやすかったですね。ここにはちょっとだけHTMLタグの知識が必要でした。



名前
URL
削除用パスワード

※このブログはコメント承認制を適用しています。ブログの持ち主が承認するまでコメントは表示されません。

by yozda | 2025-05-02 14:04 | ボキ、しごとのヒント集める | Comments(0)

ボキの興味、書き散らかします


by ボキ
カレンダー
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31