目的:AIファーストといわれるCursorを使用して慣れない分野の趣味プログラムを実装してみました
投稿主:pythonはそらで書けないレベル。seleniumは触ったことない
作ったもの:いわゆるRPAでプ〇バンで新着商品の中から条件に合う商品をカートに入れてメールで通知するツール
今回のトライの目的:AIを使用したプログラミングの体感。副産物としてプ〇バンでガンプラを買うためのツールの作成
Cursorとは。ホットな話題です 2025/4現在
https://www.cursor.com/ja
できたこと
プロンプトによりファイル、コードを生成。
→コードは細かいところを抜かせば概ねできており、設定ファイルやReadmeまで生成。
しかも実装が進むのに合わせて適時Readmeの更新もできて本当にすごいと思う。
細かいところはサイトの設計によると思うのでそれに合わせて調整しました。
コードを書く際も日本語プロンプトで生成できる。
よくわからないこと
途中でAIサポートの期限が切れて有料には移行しなかったけど、なんか色々使えてる。
ちゃんと公式を読んで更新します。
試さなかったこと
テストとかその辺。趣味優先なので楽しいことだけやるスタンスで
すごいと思ったこと
- 上にも書いたけどコードのひな型はほとんど利用できた
- Readmeや設定ファイルまで生成してくれた上に現在の実装に合わせて更新してくれる
- 行ごとのコードの説明を解説してくれる
- イテレータの中でprintとか書くと候補に要素が出てきたりとやりたいことの先回りがすごい
- 行単位適当に書いたコードの修正してくれる
- 行単位でコードを書いてくれる。前後のコードを加味して。でも時々そこまで変えないでほしいって事も
もうプロンプトを工夫していい感じのコードをちょっとずつ頑張って生成するレベルじゃないんですね...
副産物の説明
今までもプレ〇ンで欲しい商品をカートに入れるボットを作りたかったのですが、知見がない分野なので何となく億劫で手を出さなかった。
今回Cursorを触ってみるのによいお題目になるかと思い作成しました。
https://github.com/jsakamoto65535/prebanClawler2
作ったもの
- 新着ページを表示し、事前に登録したリストにマッチする商品をカートに入れる
- 実施結果をメールで送信する
→自宅でツールを走らせつつ、職場にてメール通知があったらスマホで商品を確認し購入、不要なら破棄というワークフローを想定していたのだが...
勉強になったこと
- 各サイトにはクローラに守ってほしいことが書かれたrobots.txtというものがある
- 普通にseleniumでサイトにアクセスしようとするとERR_HTTP2_PROTOCOL_ERRORが返る
→クローラは歓迎されないので偽装する必要があるらしい? - 二段階認証に対応するのは難しい
- プレ〇ンはカートがセッション単位? → 想定していた作業フローが実現できなかった
ツールの補足説明
- ツールを起動すると新着ページ表示後キー入力待ちになります→ログインしたければここで操作してください
- しつこくリトライするとアクセスできなくなることがあります(ERR_HTTP2_PROTOCOL_ERROR)
- スケジュールモード:毎日既定の時間に動作する。無効の場合は即時実施(即時モード)します
- 即時モード:TARGET_LISTに登録されたものを全てカートに入れるまで繰り返します
- requirement.txtでのインストールは自動生成されたもので実際に期待通りインストールされているか未確認
- EMAIL_USERを指定しないとメール送信しないです。Gmail固定。不要な人はブランクで
- メール送信の設定をする場合はアプリパスワードが必要です
https://support.google.com/accounts/answer/185833?hl=ja
- メール送信の設定をする場合はアプリパスワードが必要です