Beautiful-soup-installation

提供:Dev Guides
移動先:案内検索

美しいスープ-インストール

BeautifulSoupは標準のPythonライブラリではないため、最初にインストールする必要があります。 最新のBeautifulSoup 4ライブラリ(別名BS4)をインストールします。

既存のセットアップを妨害しないように作業環境を分離するには、まず仮想環境を作成します。

仮想環境の作成(オプション)

仮想環境では、外部の設定に影響を与えることなく、特定のプロジェクト用に分離されたpythonの作業コピーを作成できます。

Pythonパッケージマシンをインストールする最良の方法は、pipを使用することですが、pipがまだインストールされていない場合(コマンドまたはシェルプロンプトで–“ pip –version”を使用して確認できます)、以下のコマンドを実行してインストールできます-

Linux環境

$sudo apt-get install python-pip

Windows環境

Windowsにpipをインストールするには、次のようにします-

  • [[1]]
  • コマンドプロンプトを開き、get-pip.pyファイルを含むフォルダーに移動します。
  • 次のコマンドを実行します-
>python get-pip.py

以上で、pipがWindowsマシンにインストールされました。

以下のコマンドを実行して、インストールされているpipを確認できます-

>pip --version
pip 19.2.3 from c:\users\yadur\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

仮想環境のインストール

コマンドプロンプトで以下のコマンドを実行します-

>pip install virtualenv

実行すると、以下のスクリーンショットが表示されます-

Virtualenv

以下のコマンドは、現在のディレクトリに仮想環境(「myEnv」)を作成します-

>virtualenv myEnv

スクリーンショット

アクティブ化

仮想環境をアクティブ化するには、次のコマンドを実行します-

>myEnv\Scripts\activate

仮想環境

上のスクリーンショットでは、仮想環境「myEnv」の下にいることを示す接頭辞として「myEnv」があることがわかります。

仮想環境を終了するには、deactivateを実行します。

(myEnv) C:\Users\yadur>deactivate
C:\Users\yadur>

仮想環境の準備ができたら、beautifulsoupをインストールしましょう。

BeautifulSoupのインストール

BeautifulSoupは標準ライブラリではないため、インストールする必要があります。 BeautifulSoup 4パッケージ(bs4として知られています)を使用します。

Linuxマシン

システムパッケージマネージャーを使用してDebianまたはUbuntu Linuxにbs4をインストールするには、次のコマンドを実行します-

$sudo apt-get install python-bs4 (for python 2.x)
$sudo apt-get install python3-bs4 (for python 3.x)

easy_installまたはpipを使用してbs4をインストールできます(システムパッケージャを使用したインストールで問題が発生した場合)。

$easy_install beautifulsoup4
$pip install beautifulsoup4

(python3を使用している場合は、easy_install3またはpip3をそれぞれ使用する必要がある場合があります)

Windowsマシン

Windowsにbeautifulsoup4をインストールするのはとても簡単です。特に、pipが既にインストールされている場合はそうです。

>pip install beautifulsoup4

Beautifulsoup4

これで、beautifulsoup4がマシンにインストールされました。 インストール後に発生するいくつかの問題について話しましょう。

インストール後の問題

あなたが遭遇する可能性のあるWindowsマシンでは、間違ったバージョンがインストールされているエラーが主に-

  • エラー: _ImportError“ HTMLParserという名前のモジュールはありません” _ 。Python 3でpython 2バージョンのコードを実行している必要があります。
  • エラー: _ImportError“ html.parserという名前のモジュールはありません” _ エラー。Python2でPython 3バージョンのコードを実行している必要があります。

上記の2つの状況から抜け出す最善の方法は、BeautifulSoupを再インストールして、既存のインストールを完全に削除することです。

ROOT_TAG_NAME = u ’[document]’の行に _SyntaxError“ Invalid syntax” _ が表示された場合、パッケージをインストールするだけで、python 2コードをpython 3に変換する必要があります-

$ python3 setup.py install

またはbs4ディレクトリでpythonの2から3への変換スクリプトを手動で実行する-

$ 2to3-3.2 -w bs4

パーサーのインストール

デフォルトでは、Beautiful SoupはPythonの標準ライブラリに含まれているHTMLパーサーをサポートしますが、lxmlパーサーやhtml5libパーサーなどの多くの外部サードパーティpythonパーサーもサポートします。

lxmlまたはhtml5libパーサーをインストールするには、コマンドを使用します-

Linuxマシン

$apt-get install python-lxml
$apt-get insall python-html5lib

Windowsマシン

$pip install lxml
$pip install html5lib

パーサーのインストール

一般に、ユーザーは速度のためにlxmlを使用します。古いバージョンのpython 2(2.7.3バージョンより前)またはpython 3(3.2.2より前)を使用している場合は、Pythonの組み込みHTMLパーサーがlxmlまたはhtml5libパーサーであることが推奨されます。古いバージョンの処理にはあまり適していません。

美しいスープを実行する

HTMLページの1つ(Webページを取得– [[2]]

以下のコードでは、ウェブページからタイトルを抽出しようとしています-

from bs4 import BeautifulSoup
import requests
url = "https://www.finddevguides.com/index"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
print(soup.title)

出力

<title>H2O, Colab, Theano, Flutter, KNime, Mean.js, Weka, Solidity, Org.Json, AWS QuickSight, JSON.Simple, Jackson Annotations, Passay, Boon, MuleSoft, Nagios, Matplotlib, Java NIO, PyTorch, SLF4J, Parallax Scrolling, Java Cryptography</title>

一般的なタスクの1つは、Webページ内のすべてのURLを抽出することです。 そのためには、以下のコード行を追加する必要があります-

for link in soup.find_all('a'):
print(link.get('href'))

出力

https://www.finddevguides.com/index
https://www.finddevguides.com/about/about_careers
https://www.finddevguides.com/questions/index.php
https://www.finddevguides.com/online_dev_tools
https://www.finddevguides.com/codingground
https://www.finddevguides.com/current_affairs
https://www.finddevguides.com/upsc_ias_exams
https://www.finddevguides.com/tutor_connect/index.php
https://www.finddevguides.com/whiteboard
https://www.finddevguides.com/netmeeting.php
https://www.finddevguides.com/index
https://www.finddevguides.com/tutorialslibrary
https://www.finddevguides.com/videotutorials/index.php
https://store.finddevguides.com
https://www.finddevguides.com/gate_exams_tutorials
https://www.finddevguides.com/html_online_training/index.asp
https://www.finddevguides.com/css_online_training/index.asp
https://www.finddevguides.com/3d_animation_online_training/index.asp
https://www.finddevguides.com/swift_4_online_training/index.asp
https://www.finddevguides.com/blockchain_online_training/index.asp
https://www.finddevguides.com/reactjs_online_training/index.asp
https://www.tutorix.com
https://www.finddevguides.com/videotutorials/top-courses.php
https://www.finddevguides.com/the_full_stack_web_development/index.asp
….
….
https://www.finddevguides.com/online_dev_tools
https://www.finddevguides.com/free_web_graphics
https://www.finddevguides.com/online_file_conversion
https://www.finddevguides.com/netmeeting.php
https://www.finddevguides.com/free_online_whiteboard
http://www.finddevguides.com
https://www.facebook.com/finddevguidesindia
https://plus.google.com/u/0/+finddevguides
http://www.twitter.com/finddevguides
http://www.linkedin.com/company/finddevguides
https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg
https://www.finddevguides.com/index
/about/about_privacy#cookies
/about/faq
/about/about_helping
/about/contact_us

同様に、beautifulsoup4を使用して有用な情報を抽出できます。

上記の例の「スープ」についてさらに理解しましょう。