Beautiful Soup è un pacchetto Python per l'analisi di documenti HTML e XML e risiede all'interno di un pacchetto Debian chiamato python-bs4
. Tuttavia, python-bs4
package è un pacchetto predefinito sul sistema Debian Linux per la versione Python 2. Pertanto, se la tua intenzione è quella di utilizzare Python3 come ambiente predefinito dovrai installare anche Python3 e la sua versione corrispondente di BS4 python3-bs4
. Iniziamo con l'installazione di python3:
# apt-get install -y vim python3
Dopo una corretta installazione del pacchetto python3 assicurati che python3 sia impostato come predefinito:
# 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
Conferma che Python 3 è una versione predefinita:
# python --version Python 3.4.2
Non resta che installare Beautiful Soup per l'analisi del pacchetto HTML e XML in modo che corrisponda alla versione 3 di Python:
# apt-get install python3-bs4
Tutto fatto. Prova Beautiful Soup analizzando HTML e XML con il seguente script di esempio:
#!/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)
Salva il codice sopra in un file es. scrapetest.py
e rendilo eseguibile:
$ chmod +x scrapetest.py
Una volta pronto, esegui scrapetest.py
sceneggiatura:
$ ./scrapetest.py <title>The GNU Operating System and the Free Software Movement</title>
Risoluzione dei problemi
Traceback (most recent call last): File "scrapetest.py", line 2, in <module> from bs4 import BeautifulSoup ImportError: No module named 'bs4'
La tua versione di Python e bs4 non corrisponde o bs4 non è installato. Assicurati che bs4 sia installato e che corrisponda alla tua versione python.