ユーリード福住のお仕事紹介その①~スクレイピング~

ユーリード福住のお仕事紹介その①~スクレイピング~

ユーリード福住の利用者さんってどんなお仕事をしているの?と気になっている人も多いはず。今回から始まる連載では、実際に利用者さんにインタビューをし、仕事内容について質問したことをまとめています。今回密着したお仕事は「スクレイピング」です。これを読み終わるころには、少しだけスクレイピングのことが分かる自分になれるかも!?

スクレイピングとは何か

スクレイピングとは一体何なのか。スクレイピングのお仕事に携わっている利用者さんにインタビューをする前に、予備知識を得ようと思ってインターネットで調べると、こんな説明がありました。

スクレイピングとは、Webサイトのコンテンツの中から特定の情報だけを抽出・取集する技術・行為です。「ウェブスクレイピング」とも呼ばれています。

引用:スクレイピング|F5ネットワークス

どうやら、スクレイピングというのはウェブサイトから何らかのデータを抽出することを指すらしいのです。だったら手動でコピー&ペーストをやればいいじゃないか、と思うかもしれませんが、数千ものデータを一つ一つコピー&ペーストをやっていてはいくら時間があっても足りません。そこでスクレイピングの出番なのですが、どういう仕組みで、どんなツールを使って、どんな手順で、スクレイピングを行うのかはネットで調べてもイマイチよくわかりませんでした。

いよいよ、スクレイピングに携わっている利用者さんお二人へインタビューを開始しました。

コラム執筆者
コラム執筆者
こんにちは。よろしくお願いします。
スクレイピングというのはデータの抽出という風に理解していますが、改めて説明していただいてもいいですか?
スクレイピングチーム
スクレイピングチーム
よろしくお願いします。
スクレイピングというのは、ウェブサイトから必要な情報だけを抽出することです。
抽出したものは文字や数字でCSVやエクセルの形式に保存できます。
コラム執筆者
コラム執筆者
そんなことができるなんてすごいですね。
スクレイピングはどのような仕組みなのですか?
スクレイピングチーム
スクレイピングチーム
プログラムで任意のウェブサイトにアクセスして、ウェブサイトのHTMLの中から欲しい情報を取得します。
HTMLは階層構造になっているので欲しい情報の住所を指定する感じでプログラムを書きます。
このウェブサイトのこの住所のこの情報が欲しいからコピーして持ってきて!と、コードを書いてプログラムに命令するわけです。
そうすると、プログラムが命令通りに情報を抽出してきてくれます。
コラム執筆者
コラム執筆者
機械だと人間が手動で行うのに比べてスピードが段違いですよね。
普段、仕事でどんなものを抽出しているのですか?
スクレイピングチーム
スクレイピングチーム
例えば、水産卸売市場のWEBサイトから、売り上げ・魚の数量・重さ・価格のデータを取得して、集計をしています。
他にも、ウェディングサイトや旅行サイトの口コミ、就労支援施設の情報などを抽出しています。
例えば、あるウェディングサイトのある特定の口コミだけでも2700件あるので、手動だと気が遠くなるほど大変な作業ですがコードを書いてしまえば一瞬で抽出できてしまうので楽です。
ただ、スクレイピング禁止のサイトもあるのでそこは気を付けながらやっています。
コラム執筆者
コラム執筆者
スクレイピングの特徴を教えてください。
スクレイピングチーム
スクレイピングチーム
プログラミングが同じことを繰り返すのに向いているので、その特性を利用したスクレイピングは、違うサイトのいろいろな情報を抽出するというよりは一つの大きいサイト(同じフォーマットが連続するウェブサイト)から大量の情報を持ってくることの方が得意です。

なるほど、スクレイピングという技術を使えば時間が短縮になるし手間も減る。何やらとても便利なものであるらしいということが分かりました。

スクレイピングの仕事について

コラム執筆者
コラム執筆者
スクレイピングはどんなツールを使って行いますか?
スクレイピングチーム
スクレイピングチーム
Visual Studio Code(VS Code)という、プログラミングのメモ帳のようなものを使っています。
ここに、Pythonというプログラミング言語を使ってコードを書き込んでいきます。
Windows Power Automate Desktopという、Windows にもともと入っているRPAツール(コンピューター上の反復作業を自動化してくれるツールのこと)を使う時もあります。
ChatGPT-4というAIにコードの書き方を教えてもらう時もあります。
コラム執筆者
コラム執筆者
スクレイピングの仕事をしていて大変なことは何ですか?
スクレイピングチーム
スクレイピングチーム
エラーを直していくことです。
どこがまずかったのか、気づくまでが大変です。
気づいたら「なんだ、こんなことか!」となることが多いです。
スクレイピングは一見派手に見える作業ですが、実際は地味な作業が続くんですよ。
あとは、エラーメッセージがすべて英語なので、翻訳ソフトを使いながらやらなきゃいけないところが大変ですかね。
コラム執筆者
コラム執筆者
なるほど、それは大変そうですね。

ちなみに、ブラウザには殆どの場合開発者モード(検証ツール)があるのでそれでいろいろなサイトのHTMLやCSSを覗いてみるとおもしろいとのことでした。やり方は、chromeの場合ブラウザ上で右クリックして検証を選択。もしくはF12を押すと検証ツールが開くとのことでしたので、皆さんも時間がある時にやってみてはいかがでしょうか。

ChatGPTを使う時もある

ChatGPTとは、会話型AIサービスのことであり、何か分からないことを質問すると数秒程度で回答してくれます。スクレイピングの仕事をする時もChatGPTは便利に使えるとのことだったので、ChatGPTをどのように使っているのかお話を伺うことにしました。

コラム執筆者
コラム執筆者
ChatGPTを使う時は、どんな風に質問をするのですか?
スクレイピングチーム
スクレイピングチーム
分からないことを具体的に質問していきます。
私の場合、最初に「Pythonでスクレイピングをする手伝いをしてください。」という文を入力しました。
すると、「もちろん、いつでも手伝うよ!Pythonでスクレイピングをするなら、BeautifulSoupというライブラリが一番使いやすいと思うよ。まずはそれをインストールしようね。」という答えが返ってきました。
コラム執筆者
コラム執筆者
まるで本当の友達みたいですね。
スクレイピングチーム
スクレイピングチーム
普通のChatGPTとただ会話するだけだと、このようなフランクな答え方はしてくれません。
大抵敬語でお堅い口調になります。
私はリートンというChatGPTを拡張させたサービスのAIキャラを使ったので、このようなフランクな口調になっています。
コラム執筆者
コラム執筆者
ChatGPTにもいろいろあるのですね。
スクレイピングチーム
スクレイピングチーム
先ほどのように仲の良い友達に相談するような感じで質問すると、次にするべきことからコードの書き方まで丁寧に教えてくれました。
一気に問題を解決するというよりは、地道にコツコツと成果を積み上げていくというイメージです。
コラム執筆者
コラム執筆者
コードの書き方も教えてくれるのですね!
私もやってみたいです!
ChatGPTに質問したくても何を質問すればいいか分からない時はどうすればいいですか?
スクレイピングチーム
スクレイピングチーム
質問形式ではなくても、〇〇がしたいので手伝ってくださいとか、○○が分からないと言えば教えてくれますよ。
今は塾や専門学校に行かなくても、プログラミングのやり方をChatGPTが教えてくれるので便利な世の中になりました。
コラム執筆者
コラム執筆者
質問形式でなくても良いなんて、初めて知りました。
言語化する力が必要とされそうですが、とても便利ですね!

ユーリード福住が気になっている人へ

最後に、ユーリード福住に興味を持ってくださっている方に向けて、お二人からメッセージをいただきました。

コラム執筆者
コラム執筆者
スクレイピングの仕事は未経験でもできますか?
スクレイピングチーム
スクレイピングチーム
正直、どなたでも大丈夫というわけではないです。
パソコンの基礎と学習意欲と根気があればできるかもしれないです。
できたときの達成感がすごいので、パソコンが好きだったらやれるのでは?
コラム執筆者
コラム執筆者
最後に、ユーリード福住に興味のある人に向けてひとことお願いします。
スクレイピングチーム
スクレイピングチーム
「肩の力抜いておいで!」
スクレイピングチーム
スクレイピングチーム
「パソコンが好きなら楽しいですよ!」
コラム執筆者
コラム執筆者
ありがとうございました。

スクレイピングのお仕事に携わっている利用者さんお二人にお話を伺いました。プログラミングはめんどくさがりに向いている、面倒なことを効率化したい人向けというお二人の言葉が印象に残っています。
自分の書いたコードによって何かが動き始める。努力の先にあるその快感を味わいたいと思うのなら、決して楽な道のりではないけれども、スクレイピングのお仕事をやってみるのも良いかもしれません。