取引先候補の会社の一覧、ほかのお店の価格、求人サイトの掲載情報。
Webで調べた情報を、1件ずつコピーしてExcelに貼り付ける作業は、思った以上に時間がかかるものです。ここでは、この手作業を減らすための方法を、手軽なものから順に紹介します。
【まずは「表として取り込めないか」を試す】
Webページの情報が表の形になっている場合は、まとめて取り込めることがあります。
・Googleスプレッドシートの「IMPORTHTML」という関数を使うと、ページ内の表をそのまま読み込めます
例:=IMPORTHTML("ページのアドレス","table",1)
・Windows版のExcel(Microsoft 365)なら、「データ」→「Webから」で、ページ内の表を取り込めます
ページによってはうまく読み込めないこともありますが、うまくいけば、コピー・貼り付けの手間がほとんどなくなります。
表の形になっていない情報(一覧ページに並んだお店の名前や住所など)は、この方法では取り込みにくいため、次の方法を考えます。
【決まった項目を、決まった形で集める】
手作業を減らすうえで大切なのは、「何を集めるか」を先に決めることです。
例:架空の飲食店リストを作る場合
・店名、住所、電話番号、定休日、ページのアドレス
集める項目と、Excelの列の並びを先に決めておけば、手作業で集める場合でも迷う時間が減ります。
さらに、この形が決まっていれば、プログラムで自動的に集める仕組みも作りやすくなります。ページの決まった場所から情報を読み取り、Excelやスプレッドシートに1件ずつ書き出す、という仕組みです。
【自動で集めるときに気をつけたいこと】
プログラムで情報を集める場合は、次の点に注意が必要です。
・サイトの利用規約で、自動での取得が禁止されていないか確認する
・短い間に何度もアクセスして、相手のサイトに負担をかけない
・ログインが必要なページや、有料の会員向け情報は対象にしない
・集めた情報に個人の情報が含まれる場合は、使い方に気をつける
また、サイトのデザインが変わると、読み取る場所がずれて動かなくなることがあります。長く使う予定なら、直しやすい作りにしておくことも大切です。
【小さなコツ:ページのアドレスの「規則」を見てみる】
一覧ページが何ページにも分かれているときは、2ページ目、3ページ目を開いて、ブラウザのアドレス欄を見比べてみてください。
例:「…/list?page=2」「…/list?page=3」のように、数字だけが変わっていることがよくあります。
規則が分かれば、スプレッドシートに数字だけを変えたアドレスを並べ、先ほどのIMPORTHTMLと組み合わせて、いくつものページの表をまとめて取り込める場合もあります。
自動で集める仕組みを人に頼むときも、「このアドレスの数字が変わるページです」と伝えられると、話がとても早くなります。
こうした作業のご相談は、こちらの出品で承っています。