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

どうも〜さとあつです😄
最近、お客さんから受注した、スクレイピングシステムってやつを、毎日必死に作ってます。
まあ、当然なんですけど。
お客さんの名前とか、どのサイトから何を集めて、何に使うのかとか。
その辺は、一切書けません。守秘義務なんで。
ただね。
これ、作りながら、めちゃくちゃ思ったことがあって。今日はその話をさせてください。
スクレイピングって聞くと、なんか、Webにある情報を、ボタンひとつでバーッと勝手に集めてくれる。そんな魔法みたいなやつ、って思うじゃないですか。
俺も、正直そう思ってました。
欲しい情報を指定したら、あとはAIがシャーッと全部やってくれるんだろ、と。
・・・
これがね。
そんな、簡単な話じゃなかったんです(笑)
取れた!!
と思って中身を見たら、一部だけ、すっぽり抜けてる。
直した!!
と思ったら、今度は同じデータが、二重に入ってる。
よし、全部動いた!!
と思ったら、特定のページだけ、なんか作りが違う。
・・・
・・・・・・・
なかなか、手ごわいです(笑)

そもそも、スクレイピングって何?
ちょっとだけ、言葉の説明をさせてください。
スクレイピングっていうのは、ざっくり言うと、Webページに載ってる情報を、人間が手でコピペする代わりに、プログラムで自動で集めてくる技術のことです。
いろんなページを、ひとつずつ開いて、コピーして、Excelに貼って・・・って作業、あるじゃないですか。あれを、自動でやってくれる、みたいなイメージ。
うまくいけば、めちゃくちゃ便利。
便利なんですけどね。
で、なんでこんなに手ごわいのか
さっき、データが抜けたり、重複したりする、って書きましたけど。
なんで、そんなことが起きるのか。
調べてみると、ページによって、作りがちょっとずつ違うんですよ。
人間の目で見たら、同じような表に見えても。裏側のHTML(Webページの設計図みたいなもの)の作りが、ページごとに微妙に違ってたりする。だから、こっちのページで取れた情報が、あっちのページでは取れてない、なんてことが起きるんです。
あと、最近のサイトでやっかいなのが、これ。
ページを開いた瞬間は中身が空っぽで、あとからJavaScript(ページを動かすプログラム)で、情報がパッと表示されるタイプのページがあるんです。
これ、単純な取り方だと、空っぽのまま持ってきちゃう。中身、何も入ってない(笑)
こういうのを、あ、これはこう取らなきゃダメか、って、ひとつずつ潰していく。
もう、モグラ叩きですよ。
「動いた」と「仕事で使える」は、全然違う
で、ここまでやって、だんだん見えてきたことがあって。
画面の上では、ちゃんと動いてるんですよ。データも集まってくる。
でも、集まったデータの中身を、よーく見ると。微妙におかしい。
表記がバラバラだったり、変なところに空欄があったり、余計な文字がくっついてたり。
これ、お客さんが、仕事で使うわけです。
だったら、集めて終わり、じゃ全然ダメで。
漏れなく。
間違いなく。
重複なく。
そのうえで、実際の業務で、そのまま使える形に、整えてあげないといけない。
スクレイピングって、情報を取ることが目的だと思われがちなんだけど。違うんですよね。
取った情報を、仕事で使える形にする。
そこまでやって、初めて、システムになる。
これ、作ってて、身をもって分かりました。

相棒のAIは、めちゃくちゃ強い。でも
ここで、ちゃんと言っておきたいんですけど。
俺、コード書けません。前にも書いた通りです。
それでも、こうやってスクレイピングシステムを作れてるのは、相棒のClaude Code(コードを書いてくれるAI)が、とんでもなく優秀だからです。
こうしたい、って伝えれば、コードを書いてくれる。
エラーが出たら、原因も一緒に考えてくれる。
修正も、びっくりするくらい速い。
正直、相棒がいなかったら、まず無理でした。
ただね。
AIが書いてくれたものを、出てきた結果を、はい、できました、って、そのまま信用するわけには、いかないんです。
だって、画面では動いてるんだもん。エラーも出てない。
パッと見、完璧に見える。
でも、中のデータが、本当に正しいかどうかは。
また、別の話なんですよね。
最後に止めるのは、結局、人間
結局、何回も何回もやったのが、これでした。
集まってきたデータを、自分の目で、一個ずつ見ていく。
あれ?この数字、本当に合ってる?
この情報、どこか抜けてないか?
ていうかこれ、並び順が、実際の仕事で使うとき、めちゃくちゃ使いづらくないか?
こういう違和感を見つけては、Claude Codeに、ここ直したい、って投げる。
直してもらって、また自分の目で確かめる。
これを、何度も、何度も、繰り返してます。
あと、忘れちゃいけないのが、相手のサイトへの配慮。
情報を集めるとき、短い時間にドカドカとアクセスしたら、相手のサイトに負担をかけちゃう。だから、ちゃんと間隔をあけて、ゆっくり取りに行く。
公開されてる情報を、ルールの範囲で、無理なく集める。ログインが必要なところを無理やりこじ開けるとか、そういう変なことは、当然しません。
こういう、表からは見えない地味な気配りまで、ぜんぶ込みで考えて作らないといけない。
これ、この前書いた話、そのまんまだった
書いてて、気づいたんですけど。
これ、この前のブログで書いた話、そのまんまなんですよ。
→ AIで誰でもアプリは作れる。でも、それで稼げるかは別の話
→ AIで作れるなら、自社でやればいいのでは? いや、それは違うんです
AIに、スクレイピングシステム作って、って言えば。それらしいものは、確かに出てきます。
でも、お客さんが、本当に仕事で使えるところまで持っていくのは。
取れた、動いた、だけじゃ、終われないんです。
あの記事で書いた話が、今まさに、目の前の開発現場で起きてる。
理屈じゃなくて、ガチで(笑)
でも、これが完成したら、めちゃくちゃ強い
って、ここまで、大変だ大変だ、って書いてきましたけど。
逆に言うと、ですよ。
これが完成したら。
今まで人が、毎日パソコンに張り付いて。
検索して、ページ開いて、コピーして、Excelに貼って。また検索して、開いて、コピーして、貼って・・・
って、延々とやってた作業が、ごっそり減るわけです。
世の中、こういう手作業、まだまだ山ほどあると思うんですよ。
それが、仕組みに変えられる。
これは、デカいです。

##
ということで。
AIのおかげで、開発のスピードは、ほんとに信じられないくらい速くなりました。
でも、仕事で使える品質まで持っていくために必要な、あの地味な確認作業まで、消えてなくなったわけじゃない。
だから今日も、画面とにらめっこしながら、おかしいとこを一個ずつ潰して、作ってます(笑)
もし、うちの会社でも毎日こんな手作業やってるなあ、って思い当たったら。
それ、仕組みに変えられるかもしれません。気軽に声かけてください😄
→ 業務ツールの鬼
ではまた!!
SNSも見てね!
ではまた!!
