取れた!と思ったら、抜けてる。スクレイピングシステムを必死に作ってる話

取れた!と思ったら、抜けてる。スクレイピングシステムを必死に作ってる話

どうも〜さとあつです😄

最近、お客さんから受注した、スクレイピングシステムってやつを、毎日必死に作ってます。

まあ、当然なんですけど。

お客さんの名前とか、どのサイトから何を集めて、何に使うのかとか。

その辺は、一切書けません。守秘義務なんで。

ただね。

これ、作りながら、めちゃくちゃ思ったことがあって。今日はその話をさせてください。

スクレイピングって聞くと、なんか、Webにある情報を、ボタンひとつでバーッと勝手に集めてくれる。そんな魔法みたいなやつ、って思うじゃないですか。

俺も、正直そう思ってました。

欲しい情報を指定したら、あとはAIがシャーッと全部やってくれるんだろ、と。

・・・

これがね。

そんな、簡単な話じゃなかったんです(笑)

取れた!!

と思って中身を見たら、一部だけ、すっぽり抜けてる。

直した!!

と思ったら、今度は同じデータが、二重に入ってる。

よし、全部動いた!!

と思ったら、特定のページだけ、なんか作りが違う。

・・・

・・・・・・・

なかなか、手ごわいです(笑)

取得漏れ・重複・形式違い・エラーが次々に起きて頭を抱える開発現場のイメージ

そもそも、スクレイピングって何?

ちょっとだけ、言葉の説明をさせてください。

スクレイピングっていうのは、ざっくり言うと、Webページに載ってる情報を、人間が手でコピペする代わりに、プログラムで自動で集めてくる技術のことです。

いろんなページを、ひとつずつ開いて、コピーして、Excelに貼って・・・って作業、あるじゃないですか。あれを、自動でやってくれる、みたいなイメージ。

うまくいけば、めちゃくちゃ便利。

便利なんですけどね。

で、なんでこんなに手ごわいのか

さっき、データが抜けたり、重複したりする、って書きましたけど。

なんで、そんなことが起きるのか。

調べてみると、ページによって、作りがちょっとずつ違うんですよ。

人間の目で見たら、同じような表に見えても。裏側のHTML(Webページの設計図みたいなもの)の作りが、ページごとに微妙に違ってたりする。だから、こっちのページで取れた情報が、あっちのページでは取れてない、なんてことが起きるんです。

あと、最近のサイトでやっかいなのが、これ。

ページを開いた瞬間は中身が空っぽで、あとからJavaScript(ページを動かすプログラム)で、情報がパッと表示されるタイプのページがあるんです。

これ、単純な取り方だと、空っぽのまま持ってきちゃう。中身、何も入ってない(笑)

こういうのを、あ、これはこう取らなきゃダメか、って、ひとつずつ潰していく。

もう、モグラ叩きですよ。

「動いた」と「仕事で使える」は、全然違う

で、ここまでやって、だんだん見えてきたことがあって。

画面の上では、ちゃんと動いてるんですよ。データも集まってくる。

でも、集まったデータの中身を、よーく見ると。微妙におかしい。

表記がバラバラだったり、変なところに空欄があったり、余計な文字がくっついてたり。

これ、お客さんが、仕事で使うわけです。

だったら、集めて終わり、じゃ全然ダメで。

漏れなく。

間違いなく。

重複なく。

そのうえで、実際の業務で、そのまま使える形に、整えてあげないといけない。

スクレイピングって、情報を取ることが目的だと思われがちなんだけど。違うんですよね。

取った情報を、仕事で使える形にする。

そこまでやって、初めて、システムになる。

これ、作ってて、身をもって分かりました。

複数のWebページから情報を取得し、整形・重複チェックを経て業務画面へ登録するスクレイピングの流れ図

相棒のAIは、めちゃくちゃ強い。でも

ここで、ちゃんと言っておきたいんですけど。

俺、コード書けません。前にも書いた通りです。

それでも、こうやってスクレイピングシステムを作れてるのは、相棒のClaude Code(コードを書いてくれるAI)が、とんでもなく優秀だからです。

こうしたい、って伝えれば、コードを書いてくれる。

エラーが出たら、原因も一緒に考えてくれる。

修正も、びっくりするくらい速い。

正直、相棒がいなかったら、まず無理でした。

ただね。

AIが書いてくれたものを、出てきた結果を、はい、できました、って、そのまま信用するわけには、いかないんです。

だって、画面では動いてるんだもん。エラーも出てない。

パッと見、完璧に見える。

でも、中のデータが、本当に正しいかどうかは。

また、別の話なんですよね。

最後に止めるのは、結局、人間

結局、何回も何回もやったのが、これでした。

集まってきたデータを、自分の目で、一個ずつ見ていく。

あれ?この数字、本当に合ってる?

この情報、どこか抜けてないか?

ていうかこれ、並び順が、実際の仕事で使うとき、めちゃくちゃ使いづらくないか?

こういう違和感を見つけては、Claude Codeに、ここ直したい、って投げる。

直してもらって、また自分の目で確かめる。

これを、何度も、何度も、繰り返してます。

あと、忘れちゃいけないのが、相手のサイトへの配慮。

情報を集めるとき、短い時間にドカドカとアクセスしたら、相手のサイトに負担をかけちゃう。だから、ちゃんと間隔をあけて、ゆっくり取りに行く。

公開されてる情報を、ルールの範囲で、無理なく集める。ログインが必要なところを無理やりこじ開けるとか、そういう変なことは、当然しません。

こういう、表からは見えない地味な気配りまで、ぜんぶ込みで考えて作らないといけない。

これ、この前書いた話、そのまんまだった

書いてて、気づいたんですけど。

これ、この前のブログで書いた話、そのまんまなんですよ。

AIで誰でもアプリは作れる。でも、それで稼げるかは別の話

AIで作れるなら、自社でやればいいのでは? いや、それは違うんです

AIに、スクレイピングシステム作って、って言えば。それらしいものは、確かに出てきます。

でも、お客さんが、本当に仕事で使えるところまで持っていくのは。

取れた、動いた、だけじゃ、終われないんです。

あの記事で書いた話が、今まさに、目の前の開発現場で起きてる。

理屈じゃなくて、ガチで(笑)

でも、これが完成したら、めちゃくちゃ強い

って、ここまで、大変だ大変だ、って書いてきましたけど。

逆に言うと、ですよ。

これが完成したら。

今まで人が、毎日パソコンに張り付いて。

検索して、ページ開いて、コピーして、Excelに貼って。また検索して、開いて、コピーして、貼って・・・

って、延々とやってた作業が、ごっそり減るわけです。

世の中、こういう手作業、まだまだ山ほどあると思うんですよ。

それが、仕組みに変えられる。

これは、デカいです。

検索・コピー・Excel転記を手作業でやっているBeforeと、システムが自動化して人は確認だけのAfterの対比

##

ということで。

AIのおかげで、開発のスピードは、ほんとに信じられないくらい速くなりました。

でも、仕事で使える品質まで持っていくために必要な、あの地味な確認作業まで、消えてなくなったわけじゃない。

だから今日も、画面とにらめっこしながら、おかしいとこを一個ずつ潰して、作ってます(笑)

もし、うちの会社でも毎日こんな手作業やってるなあ、って思い当たったら。

それ、仕組みに変えられるかもしれません。気軽に声かけてください😄

業務ツールの鬼

ではまた!!

SNSも見てね!

ではまた!!

\ 最新情報をチェック /