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をインストールする方は、続く事前確認から順番に進めると環境の取り違えを防げます。
| 利用環境 | 推奨コマンド | ポイント |
|---|---|---|
| Windows | py -m pip install beautifulsoup4 | Python Launcher経由でpipを実行 |
| macOS/Linux | python3 -m pip install beautifulsoup4 | Python 3の環境を明示 |
| 仮想環境 | python -m pip install beautifulsoup4 | 仮想環境を有効化してから実行 |
| Anaconda | conda 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の解析に利用 |
| beautifulsoup4 | PyPIで配布される現行パッケージ名 | pip install beautifulsoup4 |
| bs4 | Pythonから読み込むモジュール名 | from bs4 import BeautifulSoup |
| BeautifulSoup | 旧メジャーバージョンの配布名として残る表記 | 新規環境ではインストールしない |
Beautiful Soup公式ドキュメントは、新しくコードを書く場合にbeautifulsoup4をインストールするよう案内しています。pip install BeautifulSoupは旧版を指すため、Python 3向けの新規開発では使用しません。PyPIでも現行版はbeautifulsoup4として公開されています。
Pythonとpipが使えるか確認するには?
WindowsではコマンドプロンプトまたはPowerShell、macOS/Linuxではターミナルを開き、次のコマンドを実行します。
それぞれにバージョン番号とインストール先が表示されれば準備は完了です。pipが見つからない場合は、後述する「pipが認識されない場合」を確認してください。
仮想環境を使うべきなのはなぜ?
実務や継続して使うプロジェクトでは、仮想環境を作成してからBeautifulSoup4をインストールする方法がおすすめです。プロジェクトごとにPythonパッケージを分離できるため、別の開発環境とのバージョン衝突や、OSが管理するPython環境の破損を防ぎやすくなります。
Python Packaging User Guideも、pipとvenvを使ってプロジェクト単位で環境を分ける手順を案内しています。
PythonでBeautifulSoupをインストールする方法
Step 1:ターミナルまたはコマンドプロンプトを開く
WindowsはPowerShellまたはコマンドプロンプト、macOSは「ターミナル」を開きます。インストールコマンドは>>>が表示されるPython対話画面や、通常の.pyファイルには書きません。
Step 2:beautifulsoup4をpipでインストールする
Windowsでは次を実行します。
macOSまたはLinuxでは次を実行します。
Successfully installedと表示されればインストール処理は完了です。Requirement already satisfiedは、そのpip環境にはすでにパッケージが存在するという意味です。ただし、実際にコードを動かすPythonが別環境なら、まだimportできない場合があります。
Step 3:インストール先とバージョンを確認する
Name、Version、Locationが表示されます。特にLocationは、VS CodeやPyCharmが使っているPython環境と一致しているか調べる際に役立ちます。
Step 4:bs4をimportできるか確認する
BeautifulSoup OKと表示されれば、現在のPythonから正しく読み込めています。pipの一覧に存在することだけでなく、importまで確認するのが確実です。
AnacondaやJupyterでBeautifulSoup4をインストールするには?
Anaconda環境ではpipとcondaのどちらを使う?
Anaconda Promptを開き、最初にインストール先の環境を有効化します。環境名がscrapingの場合は次のように実行します。
conda環境内でpipを使うこともできますが、まずpython -m pip --versionを実行し、対象環境のパスが表示されることを確認してください。base環境に入れたパッケージが、別のconda環境から自動的に見えるわけではありません。
Jupyter NotebookやGoogle Colabではどうする?
Notebookのセルでは、現在のカーネルに対応するpipを実行しやすい%pipマジックを使用します。
インストール後も読み込めない場合は、カーネルを再起動してからfrom bs4 import BeautifulSoupを実行します。PCのターミナルでインストールした環境と、Notebookのカーネルが異なるケースにも注意してください。
BeautifulSoupをインストールできない場合はどうする?
エラーメッセージだけを見て再インストールを繰り返すのではなく、「どのPythonを実行しているか」「そのPythonに対応するpipはどれか」「IDEが選択しているインタープリターは何か」の順に確認します。
| 症状 | 主な原因 | 確認・対処 |
|---|---|---|
No module named 'bs4' | 別のPython環境へインストールした | python -m pip install beautifulsoup4で実行環境をそろえる |
pip is not recognized | pip未導入、またはPATHの問題 | python -m pip --version、python -m ensurepip --default-pipを確認 |
SyntaxError | Python対話画面で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本体の場所を確認できます。
一方、python -m pip show beautifulsoup4のLocationはインストール先を示します。両者が別の仮想環境や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は必須ではありません。
| ライブラリ/パーサー | 役割 | メリット | 注意点 |
|---|---|---|---|
| requests | URLへHTTPリクエストを送りHTMLを取得 | 記述が簡潔 | JavaScript実行後の画面は取得できない |
| html.parser | Python標準のHTMLパーサー | 追加インストール不要 | 速度や壊れたHTMLへの対応は用途次第 |
| lxml | 高速なHTML/XML解析 | 処理が速い | 外部依存のインストールが必要 |
| html5lib | ブラウザに近い形でHTML5を解析 | 不完全なHTMLに寛容 | 比較的遅い |
Webページ取得まで試す場合は、まず次の構成で十分です。
インストール後にBeautifulSoupを動かす最小コード
最初はネットワーク接続を使わず、文字列として用意したHTMLを解析すると、インストールとimportだけを切り分けて確認できます。
テストと表示されれば、BeautifulSoup4は正常に動作しています。続いて、RequestsでWebページを取得する最小例を試します。
BeautifulSoupの具体的な抽出方法は、PythonによるWebスクレイピングの入門ガイドで詳しく解説しています。ここではインストール確認に必要な最小構成にとどめます。
BeautifulSoupとOctoparseはどちらを選ぶべき?
BeautifulSoupは、Pythonで細かく処理を組みたい開発者には柔軟な選択肢ですが、環境構築やコード作成、ページ構造変更への対応などを自分で行う必要があります。一方、Octoparse(オクトパース・オクトパス)は、プログラミング不要でWebデータを収集できるノーコードスクレイピングツールです。
商品情報、求人、不動産、Google Maps、SNS、ECサイトなど、さまざまな業務向けテンプレートが用意されているため、毎回ゼロからスクレイパーを作る必要がありません。特に「分析や営業、マーケティングに使うデータを早く集めたい」「スクレイピングの開発や保守に時間をかけたくない」という企業や非エンジニアの方に向いています。
また、Octoparseは単に画面上でデータを取得するだけでなく、MCP、API、CLIなどを通じて既存の業務フローやAIツールと組み合わせることもできます。たとえば、AIに自然言語でデータ収集を指示し、そのまま整理・比較・分析まで進めるといった運用も可能です。
BeautifulSoupで自社専用の処理を細かく開発するほどではないものの、手作業では時間がかかる定期収集や大量データ取得を効率化したい場合、Octoparseなら導入までの手間を抑えながら業務に活用しやすいでしょう。無料プランも用意されているため、まず実際のサイトでデータを取得できるか試してから、本格的な業務利用へ広げられます。
| 比較項目 | BeautifulSoup | Octoparse |
|---|---|---|
| 種類 | 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万人以上が選んだ信頼のツール



