Python - HTML-Seiten lesen

Bibliothek als schöne Suppe bekannt. Mit dieser Bibliothek können wir nach den Werten von HTML-Tags suchen und bestimmte Daten wie den Titel der Seite und die Liste der Überschriften auf der Seite abrufen.

Installieren Sie Beautifulsoup

Verwenden Sie den Anaconda-Paketmanager, um das erforderliche Paket und seine abhängigen Pakete zu installieren.

conda install Beaustifulsoap

HTML-Datei lesen

Im folgenden Beispiel fordern wir eine URL an, die in die Python-Umgebung geladen werden soll. Verwenden Sie dann den HTML-Parser-Parameter, um die gesamte HTML-Datei zu lesen. Als nächstes drucken wir die ersten Zeilen der HTML-Seite.

import urllib2
from bs4 import BeautifulSoup

# Fetch the html file
response = urllib2.urlopen('http://tutorialspoint.com/python/python_overview.htm')
html_doc = response.read()

# Parse the html file
soup = BeautifulSoup(html_doc, 'html.parser')

# Format the parsed html file
strhtm = soup.prettify()

# Print the first few characters
print (strhtm[:225])

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt.

<!DOCTYPE html>
<!--[if IE 8]><html class="ie ie8"> <![endif]-->
<!--[if IE 9]><html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->
<html>
 <!--<![endif]-->
 <head>
  <!-- Basic -->
  <meta charset="utf-8"/>
  <title>

Tag-Wert extrahieren

Mit dem folgenden Code können wir den Tag-Wert aus der ersten Instanz des Tags extrahieren.

import urllib2
from bs4 import BeautifulSoup

response = urllib2.urlopen('http://tutorialspoint.com/python/python_overview.htm')
html_doc = response.read()

soup = BeautifulSoup(html_doc, 'html.parser')

print (soup.title)
print(soup.title.string)
print(soup.a.string)
print(soup.b.string)

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt.

Python Overview
Python Overview
None
Python is Interpreted

Alle Tags extrahieren

Mit dem folgenden Code können wir den Tag-Wert aus allen Instanzen eines Tags extrahieren.

import urllib2
from bs4 import BeautifulSoup

response = urllib2.urlopen('http://tutorialspoint.com/python/python_overview.htm')
html_doc = response.read()
soup = BeautifulSoup(html_doc, 'html.parser')

for x in soup.find_all('b'): print(x.string)

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt.

Python is Interpreted
Python is Interactive
Python is Object-Oriented
Python is a Beginner's Language
Easy-to-learn
Easy-to-read
Easy-to-maintain
A broad standard library
Interactive Mode
Portable
Extendable
Databases
GUI Programming
Scalable