CANVAS LAB デキるシゴトを増やすメディア
Python WEBスクレイピング入門|手順とコード【2026】
2022.06.08
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選をご覧ください。
PythonのWEBスクレイピングを情報解析に役立てよう
今回はPythonとBeautiful SoupによるWEBスクレイピングの手順を紹介しました。Beautiful Soupを使えば、少ない記述でWEBページからの情報収集・データ解析・抽出が可能です。マスターすれば社内の手作業を自動化でき、アイデア次第で新しい商品・サービス開発にもつながります。著作権とサーバー負荷に十分注意しながら、まずは小さなスクリプトから練習してみてください。
収集・解析したデータを業務改善やDXにどう活かすかは、DXとはやBtoB中小企業向けSEO対策が参考になります。「スクレイピングやAIで業務を自動化したい」「データ活用の仕組みを作りたい」といったご相談は、AI活用支援を手がけるキャンバスラボへお問い合わせください。
関連記事
- Pythonでできることとは?特徴や活用事例を紹介
- AIの技術に触れてみよう(形態素解析)
- 中小企業がAIを導入すべき理由|業務効率化から営業強化まで
- 中小企業向けAI活用事例5選|業種別導入効果と成功のコツ
- ChatGPTのAPI連携で社内業務を革新|安全なAI導入のために
- DXとは?中小企業が取り組むべき理由と進め方
最終更新:2026年7月1日/キャンバスラボ(運営:株式会社キャンバス、2012年創業)。AI・体験型デジタルコンテンツ・自社パッケージ領域で累計500件超の実績。