logo
languageJPdown
menu

PythonでBeautifulSoupをインストールする方法|pip・bs4の違いとエラー対処を解説

star

PythonでBeautifulSoupをインストールする方法を、Windows・Mac・Linux・Anaconda・Jupyter別に解説。beautifulsoup4とbs4の違い、pipの使い方、No module named bs4などのエラー対処、Octoparseとの使い分けまで紹介します。

約9分で読めます

PythonでBeautifulSoupをインストールするには、Windowsではpy -m pip install beautifulsoup4、macOS/Linuxではpython3 -m pip install beautifulsoup4を実行します。インストールするパッケージ名はbeautifulsoup4ですが、Pythonコードではfrom bs4 import BeautifulSoupと読み込みます。

この2つの名前が違うことや、複数のPython環境が混在することが、「インストール済みなのにNo module named 'bs4'と表示される」主な原因です。本記事では、Windows・macOS・Linux・Anaconda・Jupyter Notebook別の導入方法、インストール確認、代表的なエラーの解決策まで順番に解説します。

PythonでBeautifulSoupをインストールする手順だけを知りたい場合は、以下の早見表から自分の環境に合うコマンドを選んでください。初めてPythonでBeautifulSoupをインストールする方は、続く事前確認から順番に進めると環境の取り違えを防げます。

利用環境推奨コマンドポイント
Windowspy -m pip install beautifulsoup4Python Launcher経由でpipを実行
macOS/Linuxpython3 -m pip install beautifulsoup4Python 3の環境を明示
仮想環境python -m pip install beautifulsoup4仮想環境を有効化してから実行
Anacondaconda install beautifulsoup4対象のconda環境を先に有効化
Jupyter/Colab%pip install beautifulsoup4現在のカーネルにインストール

BeautifulSoupをインストールする前に何を確認する?

最初に、Pythonとpipを同じ環境から実行できるか確認します。単にpip installと入力するより、python -m pipまたはpy -m pipと実行したほうが、どのPythonへインストールするかを明確にできます。

この確認は、PythonでBeautifulSoupをインストールする作業の中でも特に重要です。PCに複数のPythonがある場合、コマンドとIDEが別の環境を参照していることがあるためです。

BeautifulSoup・BeautifulSoup4・bs4は何が違う?

表記意味使用例
Beautiful Soupライブラリ/プロジェクトの名称HTML・XMLの解析に利用
beautifulsoup4PyPIで配布される現行パッケージ名pip install beautifulsoup4
bs4Pythonから読み込むモジュール名from bs4 import BeautifulSoup
BeautifulSoup旧メジャーバージョンの配布名として残る表記新規環境ではインストールしない

Beautiful Soup公式ドキュメントは、新しくコードを書く場合にbeautifulsoup4をインストールするよう案内しています。pip install BeautifulSoupは旧版を指すため、Python 3向けの新規開発では使用しません。PyPIでも現行版はbeautifulsoup4として公開されています。

Pythonとpipが使えるか確認するには?

WindowsではコマンドプロンプトまたはPowerShell、macOS/Linuxではターミナルを開き、次のコマンドを実行します。

# Windows
py --version
py -m pip --version

# macOS / Linux
python3 --version
python3 -m pip --version

それぞれにバージョン番号とインストール先が表示されれば準備は完了です。pipが見つからない場合は、後述する「pipが認識されない場合」を確認してください。

仮想環境を使うべきなのはなぜ?

実務や継続して使うプロジェクトでは、仮想環境を作成してからBeautifulSoup4をインストールする方法がおすすめです。プロジェクトごとにPythonパッケージを分離できるため、別の開発環境とのバージョン衝突や、OSが管理するPython環境の破損を防ぎやすくなります。

# Windows
py -m venv .venv
.venv\Scripts\activate

# macOS / Linux
python3 -m venv .venv
source .venv/bin/activate

Python Packaging User Guideも、pipとvenvを使ってプロジェクト単位で環境を分ける手順を案内しています。

PythonでBeautifulSoupをインストールする方法

Step 1:ターミナルまたはコマンドプロンプトを開く

WindowsはPowerShellまたはコマンドプロンプト、macOSは「ターミナル」を開きます。インストールコマンドは>>>が表示されるPython対話画面や、通常の.pyファイルには書きません。

Step 2:beautifulsoup4をpipでインストールする

Windowsでは次を実行します。

py -m pip install beautifulsoup4

macOSまたはLinuxでは次を実行します。

python3 -m pip install beautifulsoup4

Successfully installedと表示されればインストール処理は完了です。Requirement already satisfiedは、そのpip環境にはすでにパッケージが存在するという意味です。ただし、実際にコードを動かすPythonが別環境なら、まだimportできない場合があります。

Step 3:インストール先とバージョンを確認する

# Windows
py -m pip show beautifulsoup4

# macOS / Linux
python3 -m pip show beautifulsoup4

NameVersionLocationが表示されます。特にLocationは、VS CodeやPyCharmが使っているPython環境と一致しているか調べる際に役立ちます。

Step 4:bs4をimportできるか確認する

# Windows
py -c "from bs4 import BeautifulSoup; print('BeautifulSoup OK')"

# macOS / Linux
python3 -c "from bs4 import BeautifulSoup; print('BeautifulSoup OK')"

BeautifulSoup OKと表示されれば、現在のPythonから正しく読み込めています。pipの一覧に存在することだけでなく、importまで確認するのが確実です。

AnacondaやJupyterでBeautifulSoup4をインストールするには?

Anaconda環境ではpipとcondaのどちらを使う?

Anaconda Promptを開き、最初にインストール先の環境を有効化します。環境名がscrapingの場合は次のように実行します。

conda activate scraping
conda install beautifulsoup4

conda環境内でpipを使うこともできますが、まずpython -m pip --versionを実行し、対象環境のパスが表示されることを確認してください。base環境に入れたパッケージが、別のconda環境から自動的に見えるわけではありません。

Jupyter NotebookやGoogle Colabではどうする?

Notebookのセルでは、現在のカーネルに対応するpipを実行しやすい%pipマジックを使用します。

%pip install beautifulsoup4

インストール後も読み込めない場合は、カーネルを再起動してからfrom bs4 import BeautifulSoupを実行します。PCのターミナルでインストールした環境と、Notebookのカーネルが異なるケースにも注意してください。

BeautifulSoupをインストールできない場合はどうする?

エラーメッセージだけを見て再インストールを繰り返すのではなく、「どのPythonを実行しているか」「そのPythonに対応するpipはどれか」「IDEが選択しているインタープリターは何か」の順に確認します。

症状主な原因確認・対処
No module named 'bs4'別のPython環境へインストールしたpython -m pip install beautifulsoup4で実行環境をそろえる
pip is not recognizedpip未導入、またはPATHの問題python -m pip --versionpython -m ensurepip --default-pipを確認
SyntaxErrorPython対話画面でpipコマンドを実行したexit()で終了し、ターミナルから実行
Requirement already satisfiedなのにimportできないIDEやNotebookが別のPythonを使用インタープリター/カーネルとpip showのLocationを照合
Permission deniedシステム管理下の環境へ書き込もうとした管理者実行より、venvを作成してインストール
FeatureNotFound指定したlxmlやhtml5libが未導入該当パーサーを追加するかhtml.parserを使用

No module named 'bs4'が出るのはなぜ?

もっとも多い原因は、インストールしたPythonと実行中のPythonが違うことです。次のコードで、スクリプトを実行しているPython本体の場所を確認できます。

import sys
print(sys.executable)

一方、python -m pip show beautifulsoup4Locationはインストール先を示します。両者が別の仮想環境やPythonバージョンを指している場合は、実際にコードを動かすPythonからpipを呼び出してください。

VS CodeやPyCharmでimportできない場合は?

  • IDEで選択中のPythonインタープリターを確認する
  • IDE内のターミナルからpython -m pip show beautifulsoup4を実行する
  • プロジェクトの仮想環境が有効か確認する
  • インタープリター変更後にIDEやPython Language Serverを再起動する

エディター上の警告だけでなく、同じIDE内のターミナルで実際にimportテストを行うと、補完機能の問題か実行環境の問題かを切り分けられます。

requests・lxml・html5libもインストールする必要がある?

BeautifulSoupは取得済みのHTMLやXMLを解析するライブラリです。Webページへアクセスする機能は持たないため、URLからHTMLを取得する場合はRequestsなどを組み合わせます。一方、単純なHTML解析ならPython標準のhtml.parserを利用でき、lxmlやhtml5libは必須ではありません。

ライブラリ/パーサー役割メリット注意点
requestsURLへHTTPリクエストを送りHTMLを取得記述が簡潔JavaScript実行後の画面は取得できない
html.parserPython標準のHTMLパーサー追加インストール不要速度や壊れたHTMLへの対応は用途次第
lxml高速なHTML/XML解析処理が速い外部依存のインストールが必要
html5libブラウザに近い形でHTML5を解析不完全なHTMLに寛容比較的遅い

Webページ取得まで試す場合は、まず次の構成で十分です。

# Windows
py -m pip install beautifulsoup4 requests

# macOS / Linux
python3 -m pip install beautifulsoup4 requests

インストール後にBeautifulSoupを動かす最小コード

最初はネットワーク接続を使わず、文字列として用意したHTMLを解析すると、インストールとimportだけを切り分けて確認できます。

from bs4 import BeautifulSoup

html = "<html><head><title>テスト</title></head></html>"
soup = BeautifulSoup(html, "html.parser")

print(soup.title.get_text())

テストと表示されれば、BeautifulSoup4は正常に動作しています。続いて、RequestsでWebページを取得する最小例を試します。

import requests
from bs4 import BeautifulSoup

url = "https://example.com/"

try:
    response = requests.get(url, timeout=10)
    response.raise_for_status()

    soup = BeautifulSoup(response.text, "html.parser")
    print(soup.title.get_text(strip=True))
except requests.RequestException as error:
    print(f"ページを取得できませんでした: {error}")

BeautifulSoupの具体的な抽出方法は、PythonによるWebスクレイピングの入門ガイドで詳しく解説しています。ここではインストール確認に必要な最小構成にとどめます。

BeautifulSoupとOctoparseはどちらを選ぶべき?

BeautifulSoupは、Pythonで細かく処理を組みたい開発者には柔軟な選択肢ですが、環境構築やコード作成、ページ構造変更への対応などを自分で行う必要があります。一方、Octoparse(オクトパース・オクトパス)は、プログラミング不要でWebデータを収集できるノーコードスクレイピングツールです。

商品情報、求人、不動産、Google Maps、SNS、ECサイトなど、さまざまな業務向けテンプレートが用意されているため、毎回ゼロからスクレイパーを作る必要がありません。特に「分析や営業、マーケティングに使うデータを早く集めたい」「スクレイピングの開発や保守に時間をかけたくない」という企業や非エンジニアの方に向いています。

また、Octoparseは単に画面上でデータを取得するだけでなく、MCP、API、CLIなどを通じて既存の業務フローやAIツールと組み合わせることもできます。たとえば、AIに自然言語でデータ収集を指示し、そのまま整理・比較・分析まで進めるといった運用も可能です。

BeautifulSoupで自社専用の処理を細かく開発するほどではないものの、手作業では時間がかかる定期収集や大量データ取得を効率化したい場合、Octoparseなら導入までの手間を抑えながら業務に活用しやすいでしょう。無料プランも用意されているため、まず実際のサイトでデータを取得できるか試してから、本格的な業務利用へ広げられます。

比較項目BeautifulSoupOctoparse
種類PythonのHTML/XML解析ライブラリノーコードWebスクレイピングツール
コーディング必要基本操作は不要
ページ取得Requestsなどを別途使用内蔵ブラウザで取得
JavaScript表示単体では非対応動的ページの操作・待機を設定可能
クリック・スクロール・ページ送りSelenium等との連携や自作が必要ワークフローで設定
定期実行スケジューラーや実行環境を自作クラウド実行・スケジュール機能を利用可能
データ出力CSVやDB処理をコードで実装CSV・Excel等へ出力
保守HTML変更時にコード修正画面上で抽出ルールを調整
適している人Python開発者、独自ロジックが必要な人非エンジニア、業務部門、短期間で運用したいチーム

BeautifulSoupのメリット・デメリットは?

  • メリット:無料で利用でき、軽量で、Pythonの処理へ自由に組み込める
  • メリット:静的HTMLの解析や独自のデータ加工を細かく制御できる
  • デメリット:ページ取得、JavaScript操作、ページ送り、保存、定期実行は別途実装が必要
  • デメリット:HTML構造が変わるとセレクターや例外処理の修正が必要になる

Octoparseをおすすめできるのはどんな場合?

ECの商品価格、求人情報、店舗一覧、記事リストなどを定期的に表形式で取得し、営業・マーケティング・調査担当者も運用する場合はOctoparseを検討しやすいでしょう。URLの読み込み、フィールド選択、ページ送り、実行、エクスポートを一つの画面で扱えるため、Pythonコードと実行サーバーを一から用意する負担を減らせます。

一方、複雑な独自ロジックを組み込みたい開発者、既存のPythonデータ基盤へ深く統合したいチーム、静的HTMLを少量だけ解析する人にはBeautifulSoupのほうが柔軟です。Octoparseも複雑なページではワークフローの調整が必要で、クラウド実行や高度な運用機能には利用プラン上の条件があります。詳しい役割の違いは、Octoparse・BeautifulSoup・Seleniumの比較も参考にしてください。

Octoparseの基本的なデータ収集フローは?

Octoparseではテンプレートによるデータ収集だけでなく、カスタマイズタスクとか、MCPによるデータ収集方法とかがあります。ここでは、メリカルのデータを収集するテンプレートでその使い方を詳しく紹介します。

Step1:Octoparseへ登録・ログインする

Octoparseのアカウントを作成し、デスクトップアプリへログインします。Freeプランから始める場合、クレジットカードなしで基本的なローカル抽出を試せます。

Step2:「メリカル」でテンプレートを検索する

ホーム画面のテンプレート検索欄へ「メルカリ」と入力します。目的に合わせるテンプレートを選択します。

メルカリテンプレート

Step3:対象URLや検索条件を入力する

選択したテンプレートの入力欄へ、各フィールドを入力します。

選択したテンプレートにデータを入力

Step4:「実行」を押し、収集方法を選ぶ

入力内容を確認して「実行」をクリックします。ローカル収集に対応するタスクなら自分のPCで実行でき、少量の検証に向きます。クラウド収集に対応するテンプレートでは、Octoparseのサーバー上で処理でき、PCを閉じても大規模収集や定期実行を続けられます。

Step5:結果を検証してCSV・Excelへ出力する

取得したデータを確認し、問題がなければデータをエクスポートできます。

データをエクスポート
データをエクスポート

検索対象や利用目的によって最適な構成は異なります。最初からツールを決めるのではなく、「Python学習が目的か」「一度だけ解析したいか」「業務データを定期収集したいか」で選ぶことが重要です。

Webスクレイピングを始める前に確認すべきこと

BeautifulSoupやOctoparseで技術的にデータを取得できることと、そのデータを自由に収集・利用できることは同じではありません。実行前に対象サイトと利用目的を確認してください。

  • 対象サイトの利用規約、自動アクセス方針、robots.txtを確認する
  • 公式APIや正式なデータ提供手段がある場合は優先して検討する
  • 短時間に大量のリクエストを送らず、待機時間や同時実行数を調整する
  • 著作物の全文・画像を無断で転載しない
  • 氏名、連絡先、位置情報などの個人情報を目的外利用しない
  • ログイン後ページや会員限定情報は、契約上の取得可否も確認する

判断が難しい場合は収集を停止し、サイト運営者や専門家へ確認してください。

BeautifulSoupのインストールに関するよくある質問

Q1. BeautifulSoupは無料で使えますか?

A. はい。Beautiful Soup 4はオープンソースのPythonライブラリです。ただし、コードの開発・実行環境・保守に必要な時間や、クラウドサーバーを使う場合の費用は別に考える必要があります。

Q2. beautifulsoup4とbs4は同じものですか?

A. beautifulsoup4はpipで指定する配布パッケージ名、bs4はPythonコードで読み込むモジュール名です。インストールはpip install beautifulsoup4、importはfrom bs4 import BeautifulSoupと書きます。

Q3. pip install bs4でもインストールできますか?

A. PyPIにはbs4というメタパッケージもありますが、公式ライブラリの配布名を明示できるpip install beautifulsoup4を推奨します。pip install BeautifulSoupは旧版を指すため使用しないでください。

Q4. No module named bs4が表示されるのはなぜですか?

A. 多くの場合、BeautifulSoup4をインストールしたPythonと、コードを実行しているPythonが異なります。python -m pip show beautifulsoup4でインストール先を調べ、sys.executableで実行中のPythonと照合してください。

Q5. BeautifulSoupだけでWebページを取得できますか?

A. いいえ。BeautifulSoupはHTML・XMLの解析を担当し、URLへアクセスする機能は持ちません。静的ページのHTML取得にはRequestsやurllib、JavaScript操作が必要なページにはブラウザ自動化ツールなどを組み合わせます。

Q6. BeautifulSoupとOctoparseはどちらが初心者向けですか?

A. Pythonを学ぶ初心者にはBeautifulSoupが基本を理解しやすく、コードを書かずに業務データを取得したい初心者にはOctoparse(オクトパース・オクトパス)が取り組みやすいでしょう。学習目的とデータ収集目的を分けて判断してください。

まとめ

いかがでしょうか。この記事では、PythonでBeautifulSoupをインストールする方法について詳しく紹介しました。PythonでBeautifulSoupをインストールする場合、Windowsはpy -m pip install beautifulsoup4、macOS/Linuxはpython3 -m pip install beautifulsoup4を使うと、対象のPython環境を明確にできます。インストール名はbeautifulsoup4、import名はbs4である点を覚えておきましょう。

No module named 'bs4'が出た場合は、再インストールを繰り返す前に、pipのインストール先、実行中のPython、IDEのインタープリターを照合します。静的HTMLを自由に解析してPython処理へ組み込みたい場合はBeautifulSoupが適しています。一方、JavaScriptページ、ページ送り、定期実行、表形式での出力まで業務としてまとめたい場合は、Octoparseを選択肢に加えると開発・保守の負担を減らせます。

競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力

コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出

Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始

クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握

MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫

クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール

クリックだけでウェブ データを取得
無料ダウンロード

今すぐOctoparseを始めて、業務効率化を実現しましょう。

ダウンロード

関連記事