【実践編】メルカリをWebスクレイピング02

トップページを開いて検索してみる

前回はWebドライバーの準備から、
実際にWebサイト(メルカリ)を開くまでを行いました。

【準備編】メルカリをWebスクレイピング01

2022年2月23日
今回は開いたメルカリで「キーワード検索」を行って
表示された内容を「ソート」するまでを行ってみたいと思います。
前回トップページだけ開いたコードを関数で呼べるようにします。
全体としては一旦以下のような形です。
解説はコードの下で。
# 検索フォームxpathを格納する

chromeの検証コマンドを使用しています。
chromeでメルカリのトップページを開いて右クリック > 検証をクリック

検証ツールが表示されたらxpathをコピーします。

コピーした内容を変数に格納する。という流れです。

これで検索フォームの位置を特定することができました。
続いて検索フォームに検索したいキーワードを入力します。

# 検索ボックスにキーワードを格納する

変数「search_key」にメルカリで検索したい内容を格納します。
今回は「python 本」という内容で検索を行ってみます。
search_keyに検索キーワードを格納したら、
次にxpathを格納した変数を使用して検索キーワードを
入力します。
「send_keys」を使用することで実現可能です。
検索ボックスへ文字が格納できたら、最後に
「send_keys」で次はEnterキーを送信する処理を入れて、検索を開始します。

これで、メルカリのトップページを開いてキーワード検索まで自動化
することが出来ました。

検索したページ情報はデフォルトで「おすすめ順」でソートされている
状態なので、今回「新しい順」にソートする処理を組み込んでいます。

# 新しい順番に並び替える

まずは先ほどと同じく、「おすすめ順」にカーソルを当て
・右クリック > 検証をクリックします

表示されたら同様にxpathをコピーしてください。
ソートを行うにはいくつか方法がありますが、今回はSelectを使用します。
「from selenium.webdriver.support.ui import Select」
を冒頭でインストールしている内容ですね。
・select_new_sort = Select(new_sort)
・select_new_sort.select_by_visible_text(“新しい順”)
の処理で「新しい順」をセレクトしています。

ここまでに行えたこと

・自動でWebブラウザが起動し、メルカリのトップページが開く
・検索ボックスに検索したいワードを入力して検索を行う
・検索した結果に対して「新しい順」でソートを行う

少し長くなってしまったので、次の完結編で必ず終わらせます。
次回は
・表示された内容に対してタイトルや価格を取得する
・何件まで取得するかを確定する
・取得した内容をCSVに保存する
といったことを行いたいと思います。

第3回の記事を公開しました。

【完結編】メルカリをWebスクレイピング03

2022年2月27日

最後までお読み頂き、ありがとうございました。