Beautiful Soup je balíček Pythonu pro analýzu dokumentů HTML a XML a je umístěn v balíčku Debian s názvem python-bs4
. Nicméně python-bs4
package je výchozí balíček na systému Debian Linux pro verzi Python 2. Pokud je tedy vaším záměrem používat Python3 jako výchozí prostředí, budete muset nainstalovat také Python3 a jeho odpovídající verzi BS4 python3-bs4
. Začněme instalací python3:
# apt-get install -y vim python3
Po úspěšné instalaci balíčku python3 se ujistěte, že je python3 nastaven jako výchozí:
# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2 update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
Potvrďte, že python 3 je výchozí verze:
# python --version Python 3.4.2
Zbývá pouze nainstalovat balíček Beautiful Soup parsing HTML a XML, aby odpovídal pythonu verze 3:
# apt-get install python3-bs4
Vše hotovo. Otestujte analýzu Beautiful Soup HTML a XML pomocí následujícího příkladu skriptu:
#!/usr/bin/env python3 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://www.gnu.org") bsObj = BeautifulSoup(html.read()); print (bsObj.title)
Uložte výše uvedený kód do souboru, např. scrapetest.py
a udělejte jej spustitelným:
$ chmod +x scrapetest.py
Jakmile budete připraveni, spusťte scrapetest.py
skript:
$ ./scrapetest.py <title>The GNU Operating System and the Free Software Movement</title>
Odstraňování problémů
Traceback (most recent call last): File "scrapetest.py", line 2, in <module> from bs4 import BeautifulSoup ImportError: No module named 'bs4'
Vaše verze pythonu a bs4 se neshoduje nebo bs4 není nainstalován. Ujistěte se, že je nainstalován bs4 a že odpovídá vaší verzi pythonu.