Schöne Suppe - Installation

Da BeautifulSoup keine Standard-Python-Bibliothek ist, müssen wir sie zuerst installieren. Wir werden die neueste BeautifulSoup 4-Bibliothek (auch als BS4 bekannt) installieren.

Um unsere Arbeitsumgebung zu isolieren, um das vorhandene Setup nicht zu stören, erstellen wir zunächst eine virtuelle Umgebung.

Erstellen einer virtuellen Umgebung (optional)

In einer virtuellen Umgebung können wir eine isolierte Arbeitskopie von Python für ein bestimmtes Projekt erstellen, ohne das externe Setup zu beeinträchtigen.

Der beste Weg, um einen Python-Paketcomputer zu installieren, ist die Verwendung von pip. Wenn pip jedoch noch nicht installiert ist (Sie können dies mit - "pip –version" in Ihrer Befehls- oder Shell-Eingabeaufforderung überprüfen), können Sie die Installation mit dem folgenden Befehl durchführen:

Linux-Umgebung

$sudo apt-get install python-pip

Windows-Umgebung

Gehen Sie wie folgt vor, um pip in Windows zu installieren:

  • Laden Sie die Datei get-pip.py von herunter https://bootstrap.pypa.io/get-pip.py oder vom Github zu Ihrem Computer.

  • Öffnen Sie die Eingabeaufforderung und navigieren Sie zu dem Ordner mit der Datei get-pip.py.

  • Führen Sie den folgenden Befehl aus:

>python get-pip.py

Das war's, pip ist jetzt auf Ihrem Windows-Computer installiert.

Sie können die Installation Ihres Pip überprüfen, indem Sie den folgenden Befehl ausführen:

>pip --version
pip 19.2.3 from c:\users\yadur\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

Virtuelle Umgebung installieren

Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus -

>pip install virtualenv

Nach dem Ausführen sehen Sie den folgenden Screenshot -

Mit dem folgenden Befehl wird eine virtuelle Umgebung ("myEnv") in Ihrem aktuellen Verzeichnis erstellt.

>virtualenv myEnv

Bildschirmfoto

Führen Sie den folgenden Befehl aus, um Ihre virtuelle Umgebung zu aktivieren:

>myEnv\Scripts\activate

Im obigen Screenshot sehen Sie, dass wir "myEnv" als Präfix haben, das uns mitteilt, dass wir uns in der virtuellen Umgebung "myEnv" befinden.

Führen Sie Deaktivieren aus, um die virtuelle Umgebung zu verlassen.

(myEnv) C:\Users\yadur>deactivate
C:\Users\yadur>

Nachdem unsere virtuelle Umgebung fertig ist, können wir jetzt beautifulsoup installieren.

BeautifulSoup installieren

Da BeautifulSoup keine Standardbibliothek ist, müssen wir sie installieren. Wir werden das BeautifulSoup 4-Paket (bekannt als bs4) verwenden.

Linux-Maschine

Führen Sie den folgenden Befehl aus, um bs4 unter Debian oder Ubuntu Linux mit dem Systempaket-Manager zu installieren:

$sudo apt-get install python-bs4 (for python 2.x)
$sudo apt-get install python3-bs4 (for python 3.x)

Sie können bs4 mit easy_install oder pip installieren (falls Sie Probleme bei der Installation mit dem System Packager haben).

$easy_install beautifulsoup4
$pip install beautifulsoup4

(Möglicherweise müssen Sie easy_install3 bzw. pip3 verwenden, wenn Sie Python3 verwenden.)

Windows-Maschine

Die Installation von beautifulsoup4 in Windows ist sehr einfach, insbesondere wenn Sie bereits pip installiert haben.

>pip install beautifulsoup4

So, jetzt ist beautifulsoup4 in unserer Maschine installiert. Lassen Sie uns über einige Probleme sprechen, die nach der Installation aufgetreten sind.

Probleme nach der Installation

Auf Windows-Computern kann es vorkommen, dass ein Fehler bei der Installation der falschen Version hauptsächlich durch -

  • Error: ImportError “No module named HTMLParser”Dann müssen Sie die Python 2-Version des Codes unter Python 3 ausführen.

  • Error: ImportError “No module named html.parser” Fehler, dann müssen Sie Python 3-Version des Codes unter Python 2 ausführen.

Der beste Weg, um aus den beiden oben genannten Situationen herauszukommen, besteht darin, die BeautifulSoup erneut zu installieren und die vorhandene Installation vollständig zu entfernen.

Wenn Sie die bekommen SyntaxError “Invalid syntax” In der Zeile ROOT_TAG_NAME = u '[document]' müssen Sie den Python 2-Code in Python 3 konvertieren, indem Sie entweder das Paket installieren -

$ python3 setup.py install

oder indem Sie das Konvertierungsskript von Python 2 zu 3 manuell im Verzeichnis bs4 ausführen -

$ 2to3-3.2 -w bs4

Parser installieren

Standardmäßig unterstützt Beautiful Soup den in der Python-Standardbibliothek enthaltenen HTML-Parser, unterstützt jedoch auch viele externe Python-Parser von Drittanbietern wie den lxml-Parser oder den html5lib-Parser.

Verwenden Sie den Befehl -, um den Parser lxml oder html5lib zu installieren.

Linux-Maschine

$apt-get install python-lxml
$apt-get insall python-html5lib

Windows-Maschine

$pip install lxml
$pip install html5lib

Im Allgemeinen verwenden Benutzer lxml aus Gründen der Geschwindigkeit. Es wird empfohlen, den Parser lxml oder html5lib zu verwenden, wenn Sie eine ältere Version von Python 2 (vor Version 2.7.3) oder Python 3 (vor Version 3.2.2) als integrierten HTML-Parser von Python verwenden nicht sehr gut im Umgang mit älteren Versionen.

Laufen schöne Suppe

Es ist Zeit, unser Beautiful Soup-Paket auf einer der HTML-Seiten zu testen (Webseite nehmen - https://www.tutorialspoint.com/index.htmkönnen Sie eine beliebige andere Webseite auswählen und einige Informationen daraus extrahieren.

Im folgenden Code versuchen wir, den Titel von der Webseite zu extrahieren -

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)

Ausgabe

<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>

Eine häufige Aufgabe besteht darin, alle URLs innerhalb einer Webseite zu extrahieren. Dazu müssen wir nur die folgende Codezeile hinzufügen -

for link in soup.find_all('a'):
print(link.get('href'))

Ausgabe

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

Ebenso können wir mit beautifulsoup4 nützliche Informationen extrahieren.

Lassen Sie uns nun im obigen Beispiel mehr über „Suppe“ verstehen.