Beautiful Soup ist ein Python-Paket zum Parsen von HTML- und XML-Dokumenten und befindet sich in einem Debian-Paket namens python-bs4
. Allerdings python-bs4
Paket ist ein Standardpaket auf dem Debian-Linux-System für die Version Python 2. Wenn Sie Python3 als Standardumgebung verwenden möchten, müssen Sie daher auch Python3 und die entsprechende Version von BS4 python3-bs4
installieren . Beginnen wir mit der Installation von Python3:
# apt-get install -y vim python3
Stellen Sie nach einer erfolgreichen Installation des python3-Pakets sicher, dass python3 als Standard festgelegt ist:
# 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
Bestätigen Sie, dass Python 3 eine Standardversion ist:
# python --version Python 3.4.2
Alles, was bleibt, ist, Beautiful Soup zu installieren, das das HTML- und XML-Paket analysiert, um mit Python Version 3 übereinzustimmen:
# apt-get install python3-bs4
Alles erledigt. Testen Sie Beautiful Soup beim Analysieren von HTML und XML mit dem folgenden Beispielskript:
#!/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)
Speichern Sie den obigen Code in einer Datei, z. scrapetest.py
und ausführbar machen:
$ chmod +x scrapetest.py
Sobald Sie fertig sind, führen Sie scrapetest.py
aus Skript:
$ ./scrapetest.py <title>The GNU Operating System and the Free Software Movement</title>
Fehlerbehebung
Traceback (most recent call last): File "scrapetest.py", line 2, in <module> from bs4 import BeautifulSoup ImportError: No module named 'bs4'
Ihre Python- und bs4-Version stimmen nicht überein oder bs4 ist nicht installiert. Stellen Sie sicher, dass bs4 installiert ist und dass es Ihrer Python-Version entspricht.