先日、Windows 10 の Linux 互換レイヤー WSL2 に Ubuntu を立て、Selenium 環境を構築しました。
今回は、その環境に Beautiful Soup 4 を導入します。
※Beautiful Soup は HTML や XML を解析するための Python パッケージです。
導入
Beautiful Soup 4 は Python の標準ライブラリではなく外部ライブラリのため、Python のパッケージ管理システム pip
を使ってインストールしていきます。
Python 3
WSL2 の Ubuntu 20.04 LTS には、既に入っているため、導入不要です。
pip3
先述のとおり、Python のパッケージ管理システムである pip を先に導入します。
$ sudo apt update -y && sudo apt dist-upgrade -y
$ sudo apt install python3-pip -y
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu build-essential dpkg-dev fakeroot g++ g++-9 gcc gcc-9
libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5 libatomic1 libbinutils
libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libexpat1-dev libfakeroot
libfile-fcntllock-perl libgcc-9-dev libgomp1 libitm1 liblsan0 libpython3-dev libpython3.8-dev libquadmath0
libstdc++-9-dev libtsan0 libubsan1 linux-libc-dev make manpages-dev python-pip-whl python3-dev python3-pip
python3-wheel python3.8-dev zlib1g-dev
0 upgraded, 45 newly installed, 0 to remove and 0 not upgraded.
Beautiful Soup 4
今回のメイン Beautiful Soup 4
を導入していきます。
$ pip3 install beautifulsoup4
Collecting beautifulsoup4
Downloading beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
|████████████████████████████████| 115 kB 5.4 MB/s
Collecting soupsieve>1.2; python_version >= "3.0"
Downloading soupsieve-2.2.1-py3-none-any.whl (33 kB)
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.9.3 soupsieve-2.2.1
ライブラリ
Beautiful Soup 4 でよく使う(と思われる)ライブラリを導入します。
-
requests
標準実装のurllib
よりもシンプルで分かりやすい HTTP 通信ライブラリ。$ pip3 install requests Requirement already satisfied: requests in /usr/lib/python3/dist-packages (2.22.0)
-
lxml
標準実装のhtml.parser
よりも高速解析できるパーサ。$ pip3 install lxml Collecting lxml Downloading lxml-4.6.3-cp38-cp38-manylinux2014_x86_64.whl (6.8 MB) |████████████████████████████████| 6.8 MB 3.4 MB/s Installing collected packages: lxml Successfully installed lxml-4.6.3
-
html5lib
html5 の規則に対応しているパーサ。だが重たい。$ pip3 install html5lib Collecting html5lib Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB) |████████████████████████████████| 112 kB 6.0 MB/s Requirement already satisfied: six>=1.9 in /usr/lib/python3/dist-packages (from html5lib) (1.14.0) Collecting webencodings Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Installing collected packages: webencodings, html5lib Successfully installed html5lib-1.1 webencodings-0.5.1
テスト
実行して、問題なく動けば OK です。
$ python3 test.py