大人気のPS5の品薄が続いている。生産台数が需要に追いついていないのだろうが、やはり転売屋の存在が、PS5を喉から手が出るほど欲しくてしょうがない人を大きく刺激しているのは間違いないだろう。
ここで素直な疑問が生じる。職業的に転売をしている奴らはいったいどうやってPS5を買っているのだろうか?この疑問について、ITエンジニアの視点から、インターネットの技術的な面を踏まえて説明をすることにしよう。
なお、先に書いておくが、この記事を読んでもPS5を買えるようにはならないので、先にお断りしておく。
目次
- インターネットにあるbotという情報収集プログラム
- PS5の在庫更新状況を得る方法
- 問題はbotの頻度だ
- では転売屋はどうやって購入しているのか
インターネットにあるbotという情報収集プログラム
しばらく技術的な説明が続くが、大事な点なのでしっかり読んで頂きたい。
インターネットにはbotという情報を収集するためのプログラムがある。もっとも有名なのはgoogleである。googleが有名になったのは今から約20年くらい前からと記憶しているが、要するにけっこう昔からあることはお分かり頂けるだろう。google以外にもMSNとかYahooとか、bingとか他にも無限といっていいほどのプログラムがインターネットを巡回して情報を収集している。これをbotと呼ぶことにしよう。
botはインターネット上の様々なウェブページやらブログ記事、ニュースサイトなどを巡回するわけだが、ここで伝えたい大事な点がある。それは、botがあるウェブページにアクセスするのと、人があるウェブページにアクセスするのとに、たいした違いはないということだ。
ウェブページが表示されると、その分だけサーバーには負荷がかかる
どういうことか詳しく説明しよう。インターネットに接続されたサーバーというコンピュータにウェブページのデータが置かれているのだが、そのページにbotがアクセスしようと、人がアクセスしようと、サーバーには負荷がかかるという点に違いはないのだ。人であれbotであれウェブページにアクセスすると、サーバーに負荷がかかる。これは重要なことなので覚えておいて欲しい。後ほどこの話が再び出てくる。
ウェブページにアクセスするとサーバーには足跡が残る
もう1つ大事なことを伝えるとしよう。それは人であれbotであれ、ウェブページにアクセスするとその足跡は必ずサーバーに残るということだ。新聞の社会面を読んでいると、掲示板に脅迫を書き込んだ男が逮捕されたとか、SNSが炎上し人を中傷した男が逮捕されたなどの記事に出くわすことがあるが、警察がどうやって人物を特定しているかというと、このネットに残る足跡を手がかりにしているからだ。
ここで足跡の具体例を見てもらうことにしよう。初めて見る人は面食らうかもしれないが、難しいものではない。ここに示すのは、私が管理しているサーバーのアクセスログである。プライバシーのために一部内容を変えてあるが、人がウェブページを見ると、こんな足跡がサーバーには残る。
一番最初の数字:36.3.178.xxはIPアドレスと呼ばれるものだ。いまこの記事を読んでいるあなたも、なんらかのIPアドレスからアクセスしている。新聞の社会面で「IPアドレス開示請求」のような文言を見ることがあるが、そのIPアドレスである。アクセス元のIPアドレスとアクセス先のIPアドレスが出会った時に、特定のウェブページ(動画や画像なども含む)を見ることができるのだ。アクセス元は人またはbotで、アクセス先はサーバーのことだ。
IPアドレスの次にはアクセスした日時があり、しばらくいくと Windows、Chrome、Safariなどと書いてあるのが分かる。これはアクセスした人のOSがWindowsなのか、Macなのか、それともiPhoneなのかAndroidなのかなどの情報である。そしてブラウザも特定できる。スマホしか使わないようなリテラシーの低い層は「ブラウザ」という言葉すら意識しないでネットサーフィンをしている人もいるだろうが、Chrome、Safari、なつかしのIEなど様々なブラウザがあり、そういったことも足跡として残るのだ。
上記の足跡は人がアクセスしたと思われるものなのだが、ここでbotがアクセスした場合の足跡を見ることにしよう。これも私の管理しているサーバーにある足跡の例である。よくみるとbotという文字があるのが分かるだろう。一番下の行はgoogleのbotである。
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
(compatible; PetalBot;+https://aspiegel.com/petalbot)
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
ここでは分かりやすく説明するためにIPアドレスや日時は省いたが、大事な点は、サーバーからするとbotのアクセスの場合はbotだと分かるということだ。この足跡は「アクセスログ」などと言う。
ここまでのまとめ
botはインターネットを巡回して情報を収集しているわけだが、プログラムを使ってネットの情報を集めることをインターネット関連の技術者たちは「スクレイプ」と言っている。厳密にはWebページから必要な情報を抜き出すことを指す。
これはウェブのエンジニアであれば誰でも知っている技術で、簡単に組める。もちろん私も組める。パソコンに詳しい人が少し勉強すれば、簡単なスクレイプのプログラムくらいできるだろうし、今どきは小学生のためのプログラミング教室なんかもあるから、プログラムが得意なら子供でもできるだろう。はっきりいってスクレイプ自体は全然難しいものではないし、特別に新しい技術でもなんでもないのだ。だってgoogleが20年前からしているくらいだから。
「bot」と「スクレイプ」の違いが気になるかもしれない。また類似用語に「クローラー」もあるが、この記事の文脈においてはほぼ同義と捉えてもらって構わない。「プログラムで情報を自動収集する」という程度の認識で問題ない。
- スクレイプはgoogleが20年くらい前からやっている技術
- ウェブページを人が見ようとbotが見ようとサーバーには負荷がかかる
- 人のアクセスとbotのアクセスは見分けることができる
PS5の在庫更新状況を得る方法
インターネットの技術についての説明が続いたて飽きた人もいるだろうが、ここからは転売ヤーの話題だ。勘のいい人ならすでにお分かりだろう。ずばり書くと、AmazonやらSony、家電量販店のネットショップなどのPS5のページ情報をbotで収集し、在庫が入れば通知がくるようプログラムを組めばいいのだ。いくらPS5が欲しくてもパソコンのモニターの前に張り付いてずっと購入ページを見張っているわけにはいかない。だからbotにやらせるのだ。
PS5の価格や入荷を監視する簡単なbotなら私でもすぐ作れるので作ってみた。これがそのサンプル。なおbotといってもこれはサンプルなので、1日に1回しか動かしていないが。
さて、botができたらあとはbotで定期的にページ情報を取得し、保存していけばいい。在庫を表示する箇所に変化があった場合にアラートを上げるようにすれば出来上がりだ。botの収集は1秒おきでも設定できし、もっと細かい設定もできる。人がするのとは比較にならないくらいの速度で情報を収集できるのがbotの利点なのだ。1時間に3600回もアクセスすればPS5を買うのも夢じゃない!
と、ここまでは誰でも思いつくだろう。ところがどっこい。
問題はbotの頻度だ
PS5をどうしても欲しいあなたは、プログラムの本を片手に見よう見まねでスクレイプのプログラムを作ったとしよう。そのプログラムを自分のパソコンで1秒おきに実行すれば、更新された在庫情報をすぐ検知し高い確率でPS5を購入できる。これで気分はほくほくだぜ。「二台目を買えたら転売しちゃおうかな、ひゃっほい」、、、、、とはならないのだ。
ここで上に書いた重要な点が出てくる。それはウェブページを人が見ようとbotが見ようとサーバーには負荷がかかる、という事実だ。私自身ウェブサーバーを管理する者として言えるのだが、くそみたいなbotのせいでサーバーへの余計なアクセス負荷がかかるというのは我慢ならんのである。
たいていのサーバーには人に見て欲しい記事やら写真のデータが存在する。もう一度書くが、人に見て欲しいのだ。botに見て欲しいわけではない。botのアクセスによってサーバーに負荷がかかり、サーバーの動作が重くなってしまうと、人に見てもらう機会を損失するかもしれない。
だから、サーバー管理者は異常な回数アクセスをしてくるbotを手を尽くして遮断しようとする。同じIPアドレスから1秒おきに同じページへのアクセスがあれば、明らかにそれはbotであると分かる。そんなの一瞬で判断できるのだ。サーバー管理者がそういうアクセスを検知したら、アクセス元のIPからアクセスできないようにする。さらに、最近はAIを導入して異常アクセスを自動で遮断する技術もあるくらいだ。
去年だったか、sharpがネットでマスクを販売開始したらすぐにウェブサイトが閉じてしまった、みたいなニュースがあったのを覚えていないだろうか。あれはマスク販売開始と同時にアクセスが殺到し、サーバーを守るAIが普段とは異なるアクセスパターンを検知して、人のアクセスであるにもかかわらずサイトへのアクセスを遮断してしまったから起きたのだ。
というわけで、素人のあなたが見よう見まねで頑張ってスクレイプのプログラムを組んでも、PS5を買うことはできない。まして相手はAmazonやら楽天やら、名だたる家電量販店のサーバーである。そういうサーバーを管理している技術者は腕がいい。素人がそれを突破できるはずがない。
というわけで、あなたのPS5を手に入れるという夢ははかなく散ったわけであります。
では転売屋はどうやって購入いるのか
ここからはイタチごっこの話だ。サーバーを管理者は異常なアクセスをするbotはすぐ分かると書いたが、もしそれを、異常だと判断しなかったらどうだろうか。botはサーバー管理者をすり抜け首尾よく目的のページに達して目当てのPS5の在庫情報を得る。そして誰よりもはやくそれを買うことができる。そんなことが果たして可能なのか。
これは具体的には私も分からないから、おそらくこうだろうという想像で書く。まず同一IPアドレスからの秒単位での連続アクセスは明らかに異常であるのは明白なため、簡単にはじかれる。ではそれが、異なるIPアドレスからであればどうだろうか。様々なIPから人がアクセスするかのようにbotがアクセスしてきたら、サーバー管理者はそれが異常と見なさない可能性がある。
異なるIPアドレスを用意するには、たくさんのサーバーやパソコンが必要である。転売ヤーはそれらのサーバーに自作のbotを仕込んで意のままにコントロールすれば、サーバー管理者を守備網を突破できるかもしれない。仮に1時間に1回スクレイプするプログラムをサーバーに仕込むとして、1秒ごとに更新情報を得たいなら3600台の異なるIPアドレスのサーバーが必要となる。
なお、いまどきサーバーは必ずしも物理的な1台が必要なわけではなく、仮想サーバーといってソフトウェアの力でまるで一台のサーバーであるかのように扱える技術もある。これを専門用語でVMという。Virtual Machineの略だ。エンジニアであれば馴染みの技術である。あなたのパソコンにもVMをインストールすれば、1台のパソコンに複数のパソコンがあるように扱うことができる。
VMの技術を利用したサーバーはVPSと呼び、色々なインターネット事業者がサービス展開している。安いプランなら月額600円とかから使える。とはいえ、転売ヤーはモラルのない人たちだろうから、数千台のサーバーをわざわざお金を払って契約するとは思えない。転売の利益が減ってしまうからだ。従って、奴らが操るコンピュータのなかには不法に乗っ取ったサーバーやコンピュータも当然あるだろう。
転売ヤーは自分でサーバーをたてたり、どこかの会社のサービスに正規料金をはらって利用したり、あるいは不法に乗っ取ったサーバーやコンピュータを利用したり、様々な方法を組み込み合わせて、日々方法を変えて、スクレイプしているのだろう。ここでポイントと整理する。
- 腕はいいがモラルのないパソコンおたくみたいな奴らが職業的に転売ヤーをやっている
- 職業的とは、つまり時間と費用、技術を惜しげも無く日頃から投入しているということ
というわけで、やっぱり素人が奴らに勝てる術はないのだ。残念ながらこれが現実である。どうしてもPS5を欲しければ抽選に当たるのを祈るだけだ。考えてもみれば分かることだが、販売元たるメーカーも腕のいいエンジニアを雇って色々対策をしているのに、それでも転売屋に買われてしまうのである。転売ヤーも同じくらい技術があるか、あるいはもっと腕がいいということだ。そういう人たちが互いに競っているのだから、上に「イタチごっこ」と書いたのはこういう訳である。
なお、この記事では転売ヤーが買うものをPS5としたが、これがチケットでも品薄時のマスクでも、amazonプライムデーの目玉商品でも当てはまる。人気商品や激安販売の情報をめざとく嗅ぎつけ高値で売り抜ける。奴らは常に先を行っているのだ。
この記事に関連する記事
メルマガ登録
SEが商品登録、在庫管理、発注などのEC業務を効率よくプログラムで実施する方法を無料配信します。
- APIやツールによる業務効率化
- 広告運用に関するTips
- CVRを改善するアクセス解析のコツ