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

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

既存のセットアップを妨げないように作業環境を分離するために、最初に仮想環境を作成しましょう。

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

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

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

Linux環境

$sudo apt-get install python-pip

Windows環境

Windowsにpipをインストールするには、次の手順を実行します-

  • get-pip.pyをからダウンロードします https://bootstrap.pypa.io/get-pip.py またはgithubからコンピューターに。

  • コマンドプロンプトを開き、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

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

以下のコマンドは、現在のディレクトリに仮想環境(“ 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またはUbuntuLinuxに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マシン

特にpipがすでにインストールされている場合、Windowsにbeautifulsoup4をインストールするには非常に簡単です。

>pip install beautifulsoup4

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

インストール後の問題

あなたが遭遇するかもしれないウィンドウズマシンでは、間違ったバージョンがインストールされているエラーは主に-を介して

  • エラー: ImportError “No module named HTMLParser”、次に、Python3でPython2バージョンのコードを実行している必要があります。

  • エラー: ImportError “No module named html.parser” エラーの場合は、Python2でPython3バージョンのコードを実行している必要があります。

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

あなたが得るなら SyntaxError “Invalid syntax” ROOT_TAG_NAME = u '[document]'の行で、パッケージをインストールするだけで、python2コードをpython3に変換する必要があります-

$ 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の組み込みHTMLパーサーとして古いバージョンのpython 2(2.7.3バージョンより前)またはpython 3(3.2.2より前)を使用している場合は、lxmlまたはhtml5libパーサーを使用することをお勧めします。古いバージョンの処理はあまり得意ではありません。

美しいスープを実行しています

htmlページの1つでBeautifulSoupパッケージをテストする時が来ました(Webページを取得– https://www.tutorialspoint.com/index.htm、他の任意のWebページを選択して)、そこからいくつかの情報を抽出できます。

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

from bs4 import BeautifulSoup
import requests
url = "https://www.tutorialspoint.com/index.htm"
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.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/about/about_careers.htm
https://www.tutorialspoint.com/questions/index.php
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/codingground.htm
https://www.tutorialspoint.com/current_affairs.htm
https://www.tutorialspoint.com/upsc_ias_exams.htm
https://www.tutorialspoint.com/tutor_connect/index.php
https://www.tutorialspoint.com/whiteboard.htm
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/tutorialslibrary.htm
https://www.tutorialspoint.com/videotutorials/index.php
https://store.tutorialspoint.com
https://www.tutorialspoint.com/gate_exams_tutorials.htm
https://www.tutorialspoint.com/html_online_training/index.asp
https://www.tutorialspoint.com/css_online_training/index.asp
https://www.tutorialspoint.com/3d_animation_online_training/index.asp
https://www.tutorialspoint.com/swift_4_online_training/index.asp
https://www.tutorialspoint.com/blockchain_online_training/index.asp
https://www.tutorialspoint.com/reactjs_online_training/index.asp
https://www.tutorix.com
https://www.tutorialspoint.com/videotutorials/top-courses.php
https://www.tutorialspoint.com/the_full_stack_web_development/index.asp
….
….
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/free_web_graphics.htm
https://www.tutorialspoint.com/online_file_conversion.htm
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/free_online_whiteboard.htm
http://www.tutorialspoint.com
https://www.facebook.com/tutorialspointindia
https://plus.google.com/u/0/+tutorialspoint
http://www.twitter.com/tutorialspoint
http://www.linkedin.com/company/tutorialspoint
https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg
https://www.tutorialspoint.com/index.htm
/about/about_privacy.htm#cookies
/about/faq.htm
/about/about_helping.htm
/about/contact_us.htm

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

ここで、上記の例の「スープ」について詳しく理解しましょう。