ゲームプログラマーの寄り道

ゲームプログラマの寄り道

ソースコード公開系ブログ

ソースコード公開系ブログ

メルカリ自動落札プログラム

ある日の出来事


そう思ったので作ってみた(未完成)

丁度その後に

プログラマーが自宅で月20万くらい稼ぐには?

www.youtube.com
早い話がこの購入部分を作ろうってこと

Twitterでは



多分もう既にやっている人はばれないようにメルカリにBOT走らせているみたいですね。
お手軽に作ってしまおうという事です。
ちなみに公開するコードよりも早く落札出来る方法は知っているので何の問題もないです。

アカBANされる可能性はあるので自己責任でお願いします。

必要なもの

Python
chromeDriver

パイソンなにそれおいしいの?って人は

入門 Python 3

入門 Python 3

実践力を身につける Pythonの教科書

実践力を身につける Pythonの教科書

これでもどっちか買ってひと通りやればいい
ネットで検索してもアフィサイトが沢山引っかかるので、オライリー買ったほうが早い

U○emy、Pro○ateなんていらない

手順
  1. 検索結果の最新が販売中なら購入
  2. 売り切れならスルー
  3. 1,2を繰り返す


そしてコードはこれ

11/26 作成 データ取得のみ
11/27 処理の単純化&商品画面まで

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select

def main():
    # chromeDriverの位置
    driver = webdriver.Chrome('F:/merukari/chromeDriver')

    set_search_conditions(driver)
    get_item(driver)

    driver.close()

def set_search_conditions(driver):
    driver.get('https://www.mercari.com/jp/search/?keyword=%E3%82%B9%E3%83%9E%E3%83%9B')
    driver.set_window_size(1920, 1080)

def get_item(driver):
    """
    検索結果を取得する
    """
    items = driver.find_elements_by_class_name('items-box')

    print('----------------------------------------------------------')
    try:
       print(items[0].find_element_by_class_name('item-sold-out-badge').text)
    except:
       items[0].find_element_by_tag_name('h3').click()	#ここに購入処理入れる
           
    else:
       # 商品リンク
       print(items[0].find_element_by_tag_name('a').get_attribute('href'))
       # 商品タイトル
       print(items[0].find_element_by_tag_name('h3').text)
       # 商品画像
       print(items[0].find_element_by_tag_name('img').get_attribute('data-src'))
       # 価格
       print(items[0].find_element_by_class_name('items-box-price').text)

if __name__ == '__main__':
    main()
使用モジュール

selenium
WEBを自動で操作するイメージ

#1
driver = webdriver.Chrome('F:/merukari/chromeDriver')

chromeDriverをダウンロードしたパスに変えてくれ
確か、相対パスでもいけたはず

#2
def set_search_conditions(driver):
    driver.get('https://www.mercari.com/jp/search/?keyword=%E3%82%B9%E3%83%9E%E3%83%9B')
    driver.set_window_size(1920, 1080)

指定URL(例:スマホ)を開いて、ウィンドウサイズをFHDに変えている。
このseleniumは表示されているのしか操作出来ないため。

#3
def get_item(driver):
    items = driver.find_elements_by_class_name('items-box')

検索取得
配列なので注意

#4
try:
   print(items[0].find_element_by_class_name('item-sold-out-badge').text)
except:
   items[0].find_element_by_tag_name('h3').click()

検索結果の一番新しいやつの販売状況を取得
売り切れかどうか?
販売中ならエラー処理で購入画面へ

***募集***
一緒にブログを運営してくれる人募集しています。
主な作業は修理作業です。画像足りなかったら拾ってくるとか、誤字の修正などです。
見出し増やすなど、見た目に関する所お願いします。
Twitterに連絡くれれば反応できます。

しんーーご (@shi_k_7) | Twitter