CANVAS LAB

Python WEBスクレイピング入門|手順とコード【2026】

2022.06.08

Python WEBスクレイピング入門|手順とコード【2026】

Pythonを覚えたら最初に挑戦したいことの一つがWEBスクレイピングです。WEBサイトから必要な情報を指定して自動取得する技術で、Pythonなら情報の収集から整理までを比較的簡単に構築できます。

Pythonはもともとデータ収集・分析に適した言語です。スクレイピングをマスターすれば、手動業務の自動化マーケティング業務の効率化、アイデア次第で新サービス開発にもつながります。近年は取得データを生成AIと組み合わせる活用も広がっており、中小企業のAI導入の第一歩としても有効です。この記事では、実行前の注意点から実装手順・サンプルコードまでを2026年最新版で解説します。

【編集・監修】キャンバスラボ編集チーム(運営:株式会社キャンバス/2012年創業・第15期)。AI活用支援・体験型デジタルコンテンツ開発・自社パッケージ(ぬりえスタジアム/バッティングヒーロー)を主力に、累計500件超の制作・支援実績にもとづき編集しています。

WEBスクレイピングを行う前の注意点

Pythonによるスクレイピングは強力ですが、集めたデータの扱いには注意が必要です。使い方次第では、複製権(著作権法第21条)・公衆送信権(第23条)・翻訳権(第27条)などの著作権に抵触する恐れがあります。

実務では次の点を必ず確認してください。まず、目的のデータに公式APIが用意されていればそちらを優先します。次に、対象サイトの利用規約robots.txtを確認し、スクレイピングが禁止されていないかをチェックします。さらに、短時間の大量アクセスはサーバー負荷となるため、アクセス間隔を空ける配慮が欠かせません。データ活用時のセキュリティ設計は安全なAI導入とAPI連携の考え方もあわせてご確認ください。

Pythonを使ったWEBスクレイピングのやり方

ここでは、スクレイピングで定番のライブラリBeautiful Soupを使った手順を紹介します。Pythonでできることの全体像はPythonでできることとは?特徴や活用事例も参考になります。

動作環境

  • Windows 11 / macOS
  • Python 3.12(2026年時点の推奨安定版)
  • Beautiful Soup 4.12

Beautiful Soupとは

Beautiful Soupは、HTMLやXMLからデータを取得するためのPythonライブラリです。少ない記述で目的の要素を抽出できます。

インストール

以下のコマンドを実行してインストールします。

pip install beautifulsoup4

使い方

まずBeautiful Soupをインポートします。

from bs4 import BeautifulSoup

次に、解析対象のHTMLを用意します(ここではサンプルとして簡易的なHTMLを使用します)。

html = '''
<div class="linkArea">
  <div class="linkList"><a href="/news/" class="ro">NEWS</a></div>
  <div class="linkList"><a href="/work/" class="ro">WORKS</a>
    <div class="linkDetail">
      <a href="/work/?type=app" class="ro">アプリ開発</a>
      <a href="/work/?type=space-art" class="ro">空間演出型デジタルアート</a>
      <a href="/work/?type=web" class="ro">WEB</a>
    </div>
  </div>
  <div class="linkList"><a href="/journal/" class="ro">LAB</a></div>
  <div class="linkList contact"><a href="/inquiry/" class="ro">CONTACT</a></div>
</div>
'''

HTMLからBeautiful Soupオブジェクトを作成します。

soup = BeautifulSoup(html, 'html.parser')

CSSセレクタでデータを取得する

select()メソッドは、セレクタにマッチする複数のタグを返します。

# .linkList > a にマッチするタグ
tags = soup.select('.linkList > a')
for t in tags:
    print(t.get_text())
# NEWS
# WORKS
# LAB
# CONTACT
# .linkList .linkDetail a にマッチするタグ
tags = soup.select('.linkList .linkDetail a')
for t in tags:
    print(t.get_text())
# アプリ開発
# 空間演出型デジタルアート
# WEB

select_one()メソッドは、マッチする最初のタグだけを返します。

tag = soup.select_one('.linkList > a')
print(tag.get_text())
# NEWS

取得したデータの活用例

取得したテキストやリンクはCSV・スプレッドシートへ書き出し、集計や可視化に使えます。近年は取得データを生成AIに要約・分類させる使い方も一般的です。AIの基礎技術に触れたい方はAIの技術に触れてみよう(形態素解析)、活用事例は中小企業向けAI活用事例5選をご覧ください。

キャンバスラボ(運営:株式会社キャンバス)は2012年の創業以来、AI活用支援・体験型デジタルコンテンツ開発・自社パッケージを軸に累計500件超の制作・支援実績を重ねてきました。施策のご相談はお問い合わせフォームからお気軽にどうぞ。

PythonのWEBスクレイピングを情報解析に役立てよう

今回はPythonとBeautiful SoupによるWEBスクレイピングの手順を紹介しました。Beautiful Soupを使えば、少ない記述でWEBページからの情報収集・データ解析・抽出が可能です。マスターすれば社内の手作業を自動化でき、アイデア次第で新しい商品・サービス開発にもつながります。著作権とサーバー負荷に十分注意しながら、まずは小さなスクリプトから練習してみてください。

収集・解析したデータを業務改善やDXにどう活かすかは、DXとはBtoB中小企業向けSEO対策が参考になります。「スクレイピングやAIで業務を自動化したい」「データ活用の仕組みを作りたい」といったご相談は、AI活用支援を手がけるキャンバスラボへお問い合わせください。

関連記事

最終更新:2026年7月1日/キャンバスラボ(運営:株式会社キャンバス、2012年創業)。AI・体験型デジタルコンテンツ・自社パッケージ領域で累計500件超の実績。

CONTACT US VIEW MORE

CONTACT

デジタルに関するご相談など、
お気軽にお問い合わせください。

無料相談する