美しいスープ-インストール
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を使用して有用な情報を抽出できます。
ここで、上記の例の「スープ」について詳しく理解しましょう。