1. ホーム
  2. ›
  3. 記事一覧
  4. ›
  5. PythonでWeb情報をスプレッドシートに集約する方法
IT・ソフトウェア業 8分で読める

PythonでWeb情報をスプレッドシートに集約する方法

仕事で情報収集をしていると、毎週同じWebサイトを開き、必要な情報をコピーして、ExcelやGoogleスプレッドシートへ貼り付ける作業が発生します。

1回の作業は数分でも、確認するサイトが増え、毎週繰り返すようになると、かなりの時間を取られます。こうした「探す・転記する・並べ替える」が中心の定型作業は、Pythonを使って効率化できる可能性があります。

ただし、技術的に取得できることと、実際に取得してよいことは別です。Web情報の自動取得で最初に確認するべきなのは、Pythonの書き方ではなく、情報元となるサイトの利用規約です。

この記事では、コンビニの新商品情報を身近な例にしながら、Web上の公開情報をスプレッドシートへ整理する仕組みと、業務で利用する前に確認したい注意点を紹介します。特定サイトの取得方法や、実際のスクレイピングコードを紹介するものではありません。

例えば、コンビニの新商品情報を一覧化できる

コンビニの新商品を調べようとすると、複数のWebページを開き、商品名、発売日、価格、販売地域などを一つずつ確認することになります。

Pythonを使えば、一般公開されているページや、正式に提供されているAPI、RSSなどから必要な項目を受け取り、表記をそろえてGoogleスプレッドシートへ記録する仕組みを作れます。

整理する項目の例は次のとおりです。

  • 企業名やブランド名
  • 商品名
  • 発売日
  • 価格
  • 販売地域
  • 商品カテゴリー
  • 公式ページのURL
  • 情報を確認した日時

スプレッドシートへまとめておけば、発売日順に並べたり、特定の地域で購入できる商品だけを絞り込んだりできます。毎回すべてのページを見直すのではなく、まず一覧で候補を確認し、詳しく知りたい商品だけ公式ページを開く流れに変えられます。

仕組みは「集める・整える・記録する」の3段階

難しそうに見えますが、考え方はシンプルです。

最初に、利用が認められている情報源から必要な項目を受け取ります。次に、日付や価格などの表記を統一し、同じ情報が重複していないか確認します。最後に、Google Sheets APIを使ってスプレッドシートへ書き込みます。

全体の流れは次のようになります。

利用条件を確認した情報源
        ↓
Pythonで必要な項目だけを取得
        ↓
表記の統一と重複チェック
        ↓
Google Sheets APIで書き込み
        ↓
一覧、絞り込み、集計に活用

定期的に更新される情報なら、パソコンのスケジュール機能などを使い、週1回だけ実行する形にもできます。ここで大切なのは、取得できるだけ取得するのではなく、業務に必要な頻度と項目に限定することです。

集めた情報を業務にどう活用するか

スプレッドシートへ集めること自体が目的になると、データが増えるだけで業務は改善しません。最初に「集めた後、何を判断したいのか」を決めておく必要があります。

新商品や競合商品の調査

複数企業の公開情報を同じ形式に整理すれば、発売時期、価格帯、カテゴリーなどを比較しやすくなります。「最近増えている商品は何か」「競合はどの価格帯を狙っているか」といった仮説を考えるための入口になります。

営業や企画の準備

毎回ゼロから検索するのではなく、整理された一覧から関連情報を探せるようになります。ただし、社外向けの提案資料へ文章や画像を掲載する場合は、情報収集とは別に、転載や引用が認められるかを確認する必要があります。

SNSやコンテンツ企画の候補選び

発売直前の商品、期間限定商品、季節性のある商品などを条件で絞れば、発信候補を見つけやすくなります。公開情報は候補選びに使い、実際の投稿では商品を購入して、自分で撮影した写真と自分の感想を使う形が安全です。

社内の定例調査

同じ考え方は、業界ニュース、競合企業のプレスリリース、自治体の公開情報などにも応用できます。人が毎回「探す・コピーする」ことに時間を使わず、内容の確認や判断に時間を使えるようになります。

コードを書く前に行う8つのステップ

Web情報を使った業務効率化は、いきなりPythonを書くところから始めません。先に利用目的と情報源を整理することで、必要のない取得や規約上の問題を減らせます。

ステップ1 業務目的を決める

「新商品を把握したい」「競合の価格を比較したい」「企画候補を探したい」など、最終的に何を判断したいのかを決めます。目的が曖昧なままだと、使わない情報まで集める仕組みになってしまいます。

ステップ2 必要な項目を決める

ページ全体を保存するのではなく、商品名、価格、発売日、公式URLなど、業務上必要な項目だけに絞ります。文章や画像を丸ごと取得する必要がないケースは多くあります。

ステップ3 情報源の候補を一覧にする

情報を確認したいサイトについて、対象ページ、更新頻度、必要な項目、公式APIやRSSの有無、利用規約、robots.txtを整理します。

ステップ4 利用規約を確認する

自動取得、データの保存、営利利用、転載、再配布などに関する記載を確認します。自動取得を明確に禁止している場合や、判断が難しい場合は対象から外すか、運営会社へ確認します。

ステップ5 取得方法を選ぶ

取得方法には優先順位があります。公式API、公式RSS、公式CSV、正式なデータ提供サービス、運営会社から許可を得た方法を優先します。Webページを直接読み取る方法は、利用条件を確認したうえで、必要最小限にします。

ステップ6 少量でテストする

最初から大量のページへアクセスせず、数件だけで動作を確認します。必要な項目が正しく整理されるか、文字化けや重複がないか、不要なページへアクセスしていないかを確認します。

ステップ7 スプレッドシートへ記録する

表記を整え、商品URLや識別用のIDを使って重複を防ぎます。情報元のURLと取得日時も残しておくと、後から内容を確認しやすくなります。

ステップ8 定期的に見直す

利用規約やページの構造は変更されます。一度動いた仕組みを放置せず、取得エラー、規約変更、取得項目、実行頻度を定期的に確認します。

最も注意したいのは利用規約

公開されているページであっても、掲載内容を自由に自動取得、保存、転載、再配布できるとは限りません。

少なくとも、次の3つは分けて考える必要があります。

  1. 自動的にアクセスしてよいか
  2. 取得した情報を保存してよいか
  3. 保存した情報を公開、再利用、販売してよいか

取得が認められていても、第三者への再配布までは認められていない場合があります。個人利用や非営利目的であっても、利用規約を確認しなくてよいわけではありません。

反対に、業務や営利目的であっても、公式API、正式なデータ契約、運営会社からの許可など、認められた方法を使える場合があります。重要なのは「営利か非営利か」だけではなく、情報元が認める範囲と方法で利用しているかどうかです。

robots.txtだけで判断しない

robots.txtは、自動巡回プログラムに対して、巡回してほしくない場所を示すためのファイルです。

ただし、robots.txtに禁止の記載がないことは、転載、商用利用、データの公開まで許可されていることを意味しません。利用規約、著作権、情報の性質、アクセス頻度などもあわせて確認する必要があります。

情報を提供する企業が困ること

自動化する側は作業時間の短縮を考えますが、情報を掲載している企業の立場も考えなければなりません。

特に避けるべきなのは、次のような行為です。

  • 短時間に大量のアクセスを送る
  • サイトの動作やサービス提供に負荷をかける
  • ログインやアクセス制限を回避する
  • CAPTCHAを突破する
  • アクセスを拒否された後も方法を変えて取得を続ける
  • 商品説明や記事を丸ごと保存する
  • 写真、イラスト、ロゴなどを無断転載する
  • 口コミ本文やユーザー情報を収集する
  • 取得したデータをそのまま販売、再配布する
  • 元サイトを見なくても済むほどのデータベースを公開する

企業側が特に困るのは、サーバーへの負荷、コンテンツの無断利用、公式サービスの代わりになるような再配布です。業務効率化のための仕組みが、相手企業の業務を妨げる仕組みになってはいけません。

安全性を高める実装上の考え方

利用規約を確認した後も、技術面での配慮が必要です。

  • アクセス頻度を業務上必要な最低限にする
  • 同時アクセス数を少なくする
  • リクエストの間に待機時間を設ける
  • 一度取得した情報をキャッシュする
  • エラー時に無制限で再試行しない
  • アクセス拒否や回数制限の応答が返ったら停止する
  • 公式APIやRSSがある場合は優先する
  • 必要のない文章や画像は取得しない
  • 情報元URLと取得日時を記録する
  • 外部公開する場合は、自分の文章と写真を中心にする

「取得できる情報をすべて集める」のではなく、「業務に必要な情報だけを、相手に迷惑をかけない方法で扱う」という考え方が基本です。

正直に伝えておきたいこと

Webページを直接読み取る仕組みは、一度作れば永久に動くものではありません。ページの構成が変われば取得できなくなり、利用規約が変更されれば運用方法を見直す必要があります。

また、集めた情報が必ず正確で最新とは限りません。最終的な判断や社外向けの利用では、元となる公式ページを確認する工程を残しておく必要があります。

規約上の判断が難しいサイトや、ログインが必要なサービス、口コミや個人情報を扱うサービスは、自動化の対象にしない方が安全です。必要であれば、運営会社への確認や専門家への相談も検討します。

まとめ

PythonとGoogleスプレッドシートを組み合わせると、これまで人が繰り返していた情報収集と転記を効率化できます。

コンビニの新商品情報は、その仕組みをイメージしやすい一例です。同じ方法は、競合調査、業界ニュース、プレスリリース、自治体の公開情報など、さまざまな業務に応用できます。

一方で、最も大切なのはPythonの技術ではありません。情報元の利用規約を確認し、公式APIやRSSを優先し、必要最小限の情報だけを、負荷をかけない方法で扱うことです。

技術的にできることと、実際にやってよいことは別です。この確認を最初の工程に組み込むことで、Pythonは単なる情報収集ツールではなく、人が判断や企画に集中するための業務改善ツールになります。

※記事内の情報は2026年10月時点のものです。本記事は特定サイトからの自動取得を推奨するものではありません。実装する場合は、対象サイトの最新の利用規約、robots.txt、著作権、公式APIやRSSの提供状況をご確認ください。

Share
記事一覧に戻る