【2021年版】誰でもできる!! pythonでメルカリをスクレイピングする簡単な方法

PC初心者でもpythonを使ってメルカリをスクレイピングする方法についてまとめていきます。
最終的にはスプレッドシート にデータをまとめるところまで解説します。
- ebayの仕入れ元としてメルカリをよく使う
- 国内で検索してからebayでリサーチしている
- キーワード検索を多用する
- pythonでメルカリをスクレイピングしたいと考えている
- データコピペするのめんどくさい。。。
それではどうぞ!
できること



このプログラムではメルカリで設定した検索結果から以下の内容をスクレイピングすることができます。
- タイトル
- URL
- 価格
- 画像
- 状態
- 送料
- 備考
- 画像URL
動作環境

誰でもすぐに行えるようにGoogle Colaboratoryを使用しています。(以下GC)
このGCはスプレッドシート と同じようにグーグルアカウントがあって
OSがMACでもWINでもPCとネット環境さえ整っていれば
誰でもアクセスしてプログラムを実行することが可能です。
仕様
GCは簡単に使用できる反面いくつかの制約、制限があります。
普通に使用する分にはあまり気にはならないですが、簡単にいうと長時間プログラムを実行し続けることができません。
主な制限はこちらです。
・RAM:12GB
・ディスク:CPU/TPC:最大107GB、GPU:最大68GB
・90分ルール : 何も操作せずに90分経つとリセット
・12時間ルール : インスタンスが起動してから12時間経つとリセット
・GPUの使用制限 : GPUを使いすぎるとリセット(上限未公開)
また、スプレッドシート に対してのリクエスト数にも制限があります。
- ユーザーごとに100秒あたり100件のリクエスト
- 1回のプログラムで設定できる最大値は1,000件まで
- さらに1秒あたり10件まで
要は早い処理をするプログラムはやめてね〜ということですね。
スプシをpythonで操る初期設定
スプシをpythonで操作するには1番最初にしなければならない設定があります。
↓詳しい内容はこちらに記載していますのでご覧ください。↓
プログラムについて
本プログラムは3つのセクション(セル)に分かれています。
少し面倒くさいですが、前項に記載したGCとスプシの制限があるため3つのセクションに分けました。

上から順番に解説をすると、セクション1.はGCの90分ルールと12時間ルールのために用意しています。
その日初めてプログラムを実行するときなどに1度実行ボタンを押下しましょう。

セクション2.はイメージ画像までをスクレイピングします。
セクション2.の実行が終了したら不必要な行は削除することを推奨します。(スプシ制限回避のため)

また、その日初めてセクション2.のプログラムを実行する場合はこのようにスプシの認証を求められます。
指示に従って認証を実行するとセクション2.のプログラムが本実行されます。
セクション3.はスプシの制限にかからない限り実行をすれば勝手に起動して勝手に終了します。
使用方法

- スプレッドシートkeyを入力
- メルカリで検索結果を絞る
- メルカリの検索結果URLをコピー
- プログラムに貼り付け
- プログラム起動
たった5つの作業でメルカリのデータを思いのままに・・・。
下準備

スプレッドシートはご自身で用意しても良いですが、シート名にメルカリと記入してください。
また、セルは上記の画像の通り、見出しとなる文字列を記載します。
重要なのはシート名と見出し名、見出しの場所です。
ファイル名は変更してもOKです。
用意するのが面倒な場合は、こちらからデータのコピーをしてください。
スプシのデータコピーは「ファイル」→「コピーを作成」です。
pythonとスプシの連携方法などは前述した「スプシをpythonで操る初期設定」を確認しましょう。
メルカリで検索結果を絞る

上記はキーワードを「ニンテンドー スイッチライト 本体」にしてカテゴリーや商品状態を絞っています。
できるだけお目当ての商品のみになるように検索条件を絞るのがコツです!
メルカリの検索結果URLをコピー

ある程度条件を絞ったらブラウザに表示されているURLをコピーします。
プログラムに貼り付け

検索ワードのブロックにある「url」の””(ダブルクォーテーション)内に貼り付けます。
URLは下記のようになっています。
url = “https://www.mercari.com/jp/search/?sort_order=&keyword=検索条件&status_on_sale=1“
この形を崩さないようにダブルクォーテーションとダブルクォーテーションの間にコピーしたURLを貼り付けましょう。
プログラム起動

実行ボタンを押下すると実行ボタンの周りがクルクルと回転し始めます。
最初の起動時はモジュールをインストールするので時間にすると1.2分ほど待つ必要がありますが、ある程度待っているとこうなります。

ここで入力されるのはタイトル、URL、価格、画像です。
GCの制限に抵触しないようにするための配慮ですが、ここで必要ではない行をを削除すれば次のプログラム起動時にさらに制限回避につながります。

前回のプログラムが終了したら2つ目のプログラムを起動します。
すでにモジュールやグーグルのログインは終わっているのですぐにこうなります。

ここで入力されるのは、状態、送料、画像です。
titleはタイトルをebayなど使用するときに英訳するときに使ってもらえるように用意しました。
備考は写真などを見て重量を入力したりするために用意しました。
使用上の注意点
スクレイピングはその性質上、アクセスしたサーバー側に負担をかけてしまいます。
また、サイトによってスクレイピングを禁止している場合もあります。
メルカリは後者において使用を禁止しています。
とはいえ、できないわけではないので今回のようなプログラムを作成しました。
使用する際は相手側に迷惑をかけないように最低限の使用に留めましょう。
仮に本プログラムを使用して何かしらの不具合や損失を被ったとしても、私は一切の責任を負いません。
ご自分の裁量で使用の判断をしてください。
まあ、これまで使用してアカウント凍結などを食らったことはありません。
データ配布

残念ながらこのデータは無料で提供できるものではありません。
メルカリは規約上はスクレイピング不可ですので、無料で配るとそれでだけ利用できる人が増えてしまうということなりますので。。。
メルカリ側のスクレイピング対策が強くなったらやだなーと。。。
ということで本プログラムは有料でお配りいたします。
[purchase_link id="1344″ text="購入" style="button" color="blue"]ちなみに買い切りなので以降、追加料金はかかりません。
同じような仕組みをクラウドワークスなどで発注した場合は、¥5000は提示しないと誰もしてくれないと思います。
ptyhon初心者ならスクレイピングの勉強資料としても利用できるはずです。
データDL後

データをDLしていただけますと、拡張子が.ipynbのデータが1つ入っています。
このデータをGoogle Colab使用時に作成されたGoogleドライブに格納します。
もしくは、適当なコードエディタで開き、GCにコードをコピペしても使用することができます。
まとめ
メルカリのスクレイピングはいかがでしたか?
このプログラムを使用することによってあなたのリサーチ時間は飛躍的に削減されます。
誰でもできることを管理者がやっても意味がありません。
繰り返し作業はプログラムにやってもらいましょう!!
ディスカッション
コメント一覧
お世話になります。
メルカリのページ構成が変わっていますが、このプログラムは昔のページ用のもので現在のページでは使えないのでは???
昔 https://mercari.com/jp/・・・
今 https://jp.mercari.com/・・・
と思いました。
お世話になっております。
お返事遅れてしまい申し訳ございません。
おっしゃる通り、こちらの記事はメルカリの仕様が変わる前に作成したものです。
僕自身はここにあるプログラムを少し書き換えて使用しています。
時間ができたら新しいプログラムを掲載しようかと思います。
よろしくお願いします。。。
出品外注さんへメルカリの検索結果の商品ページURLを渡したいので検索していてこのサイトへ辿り着きました。
画像ではタイトルから画像まで抽出していますが、私は検索結果の個別商品ページのURLだけが必要なので、他の項目は不要です。
URLだけに絞り込んだ方が抽出時間が短縮できそうな素人考えですが、そのようなカスタマイズは可能ですか?
私はプログラムの知識がないので素人でも簡単に使えるツールはありがたいのでご検討宜しくお願い致します。
コメントありがとうございます!
メルカリの商品ページのURLだけが必要ということですが、できるできないで言えばできます!
また、抽出時間もおっしゃる通り短縮できると思います。
僕もプログラムの知識なんてほぼない素人と同じようなものなので深い話はできないんですけど、それくらいならすぐに作成可能だと思います。
ただ、どんな状態で欲しいのかとか、詳しい情報もらうともしかすると僕では実現できないかもしれません。
というのも、少し前にメルカリって仕様が変更したじゃないですか。
HTML的なサイト構成もだいぶ変わっていてめちゃくちゃ抜き取りにくくなったんですよね。。。
とはいえ、欲しい人がいれば作ってみたいと思っていたので挑戦してみます!
ご連絡ありがとうございます。
私はebayの出品ツールがありますので、自分で仕入予定のメルカリURLを入力すると商品画像、価格、商品説明は簡単に翻訳して出品出来るツールなので外注化しやすいです。
メルカリで出品したいカテゴリー、ブランド等を細かく絞り込んで、外注さんへ検索結果の商品一覧のURLだけ渡したいので是非お願いします。