目次
はじめに
ここで作成目的のBotはPythonで実行してURL、時間を入力することでその商品を買うことです。
主なコードは
自動購入Bot完成までこの記事をもとに作成しています。
環境構築や時間調整、スクレイピングで使うコードなどやってきたことをまとめてます。
作成手順
- 簡単に言うと起動するBotの初期設定
- Amazonにログイン
- ほしい商品にアクセス
- 購入
簡単にやることを書きだすとこのようになってます。
簡単に言うと起動するBotの初期設定
自動購入Bot完成までこの記事の流れの部分を見ていただければできます。
Amazonにログイン
1.全画面表示に
この画面でもログインできるんですが、以下のように全画面にしたほうがやりやすいです。
理由としてはログインのボタンが画面内に表示されるので要素を見つけてくれるからです。
上の図でもできるんでしょうけど一回目試してみてうまくいかなかったので、
無理に難しいことをしたくなかったのでフルスクリーン表示にしてボタンを押すことにします。
フルスクリーン表示にするには
options.add_argument('--start-fullscreen')
このコードを
driver = webdriver.Chrome(chrome_options=options)
より前に置けばコードを実行し、Chromeが起動するとフルスクリーン表示になってます。
2.ログインする
実際にログインしてみればわかりますが、下記のように手順はなってます。
- Amazon公式に飛んでログインボタンを押す
- メアド入力、次へ
- パスワード入力、チェックボックスにチェック、ログイン
以下にコードを示します。
url2 = "https://www.amazon.co.jp"
driver.get(url2)
driver.find_element_by_class_name('a-button-inner').click() #ボタンを押す
driver.execute_script('document.getElementById("ap_email").value="%s";' % login) #メアドを入力
driver.find_element_by_id('continue').submit() #ボタンを押す
driver.execute_script('document.getElementById("ap_password").value="%s";' % password)
driver.find_element_by_name('rememberMe').click() #チェックボックスにチェック
driver.find_element_by_id('signInSubmit').submit()
print("ログイン出来ました。")
これでログインできます。
ほしい商品にアクセス
ほしい商品にアクセスするには、その商品のURLが必要になります。
自分はAmazonで狙ってる商品など特にないのでURLが事前にわかるものなのかわからないですが、
今回自分が作るのはその商品のURLが必要になります。
このようなものです(これは自分のおすすめの本です。)
アクセスするには以下のコードでできます。
url2 = "https://amzn.to/3kUWQw7"
driver.get(url2)
BS4などを使ってサイトの監視をして入荷したら購入。みたいなのも…
購入
商品ページにアクセスして今すぐ買うのボタンを押したら以下の画面に飛びました。
なので続行ボタンを押し注文確定で購入完了です。
さいごに
自分にはあんまり必要のないものでしたがちょっとやってみようと思い作成しましたが、そんなに難しいものではなかったです。
自分の前の記事や参考書を購入するなどしながら作成してみてください。
時間指定の方法を有料Noteで公開しました。
自動購入Botで大事なのって何?それは時間だろ!ってことで時間関連載せちゃうよ
時間指定の方法を上記の有料Noteで公開しました。
チケ発サイトでの攻略・Bot作成
この記事を訪れる方でオタクでチケ発関係を知りたい方が多いです。
その方向けに記事を書いてみました。
チケット購入まとめ:Botや攻略などyoutubeを始めてみました。
youtubeを始めてみました。
https://www.youtube.com/channel/UC-sjs4cFaHmSFIi2x_u_qDw
これからSeleniumを用いたBotの作成できるように動画をとっていくつもりです。
質問などコメントいただけると今後改善できるのでありがたいです。
お世話になっています。本サイトの記事に興味あって色々試しています。
あまりコーディングに慣れていない面がありますので宜しくお願いします。
本「amazo自動購入bot試作」記事にある「フルスクリーンにする」箇所の以下コードを自分のコードへ追加すると
エラー「reportUndefinedVariable 未定義の変数の診断」が発生します。
options.add_argument(‘–start-fullscreen’)
多分、定義か何か別途必要だと思うのですが、どのようにすれば使用可能になるかご教示お願いします。
環境
windows10(64bit)
本サイトの頁「https://kacchanblog.com/programming/python-vscode-win10」に記載の環境で進めています。
コメントありがとうございます。
定義か何か別途必要だと思うのですが
>そうですね、ここの記事で上のほうのコードが書かれていなかったためそのような事態になったと考えられます。
https://kacchanblog.com/programming/python-bot-comp
こちらの記事などを参考に「options」など定義してあげてみてください。