Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie das Beautifulsoup-Modul zum Parsen von Webseiten in Python 3.x

So verwenden Sie das Beautifulsoup-Modul zum Parsen von Webseiten in Python 3.x

PHPz
PHPzOriginal
2023-08-01 17:24:311101Durchsuche

So verwenden Sie das Beautiful Soup-Modul zum Parsen von Webseiten in Python 3.x

Einführung:
Während der Webentwicklung und des Daten-Crawlings ist es normalerweise erforderlich, die erforderlichen Daten von der Webseite zu crawlen. Die Struktur von Webseiten ist oft komplexer und die Verwendung regulärer Ausdrücke zum Suchen und Extrahieren von Daten kann schwierig und umständlich werden. Zu diesem Zeitpunkt wird Beautiful Soup zu einem sehr effektiven Tool, mit dem wir Daten auf der Webseite einfach analysieren und extrahieren können.

  1. Einführung in Beautiful Soup
    Beautiful Soup ist eine Python-Bibliothek eines Drittanbieters, die zum Extrahieren von Daten aus HTML- oder XML-Dateien verwendet wird. Es unterstützt HTML-Parser in der Python-Standardbibliothek wie lxml, html5lib usw.
    Zuerst müssen wir das Beautiful Soup-Modul mit pip installieren:

    pip install beautifulsoup4
  2. Bibliothek importieren
    Nachdem die Installation abgeschlossen ist, müssen wir das Beautiful Soup-Modul importieren, um seine Funktionen nutzen zu können. Gleichzeitig müssen wir auch das Anforderungsmodul importieren, um Webinhalte zu erhalten.

    import requests
    from bs4 import BeautifulSoup
  3. Initiieren Sie eine HTTP-Anfrage, um Webseiteninhalte zu erhalten.

    # 请求页面
    url = 'http://www.example.com'
    response = requests.get(url)
    # 获取响应内容,并解析为文档树
    html = response.text
    soup = BeautifulSoup(html, 'lxml')
  4. Tag-Selektor
    Bevor Sie Beautiful Soup zum Parsen einer Webseite verwenden, müssen Sie zunächst verstehen, wie Sie Tags auswählen. Beautiful Soup bietet einige einfache und flexible Methoden zur Tag-Auswahl.

    # 根据标签名选择
    soup.select('tagname')
    # 根据类名选择
    soup.select('.classname')
    # 根据id选择
    soup.select('#idname')
    # 层级选择器
    soup.select('father > son')
  5. Tag-Inhalt abrufen
    Nachdem wir das erforderliche Tag gemäß der Tag-Auswahl ausgewählt haben, können wir eine Reihe von Methoden verwenden, um den Tag-Inhalt abzurufen. Hier sind einige häufig verwendete Methoden:

    # 获取标签文本
    tag.text
    # 获取标签属性值
    tag['attribute']
    # 获取所有标签内容
    tag.get_text()
  6. Vollständiges Beispiel
    Hier ist ein vollständiges Beispiel, das zeigt, wie man Beautiful Soup verwendet, um eine Webseite zu analysieren und die erforderlichen Daten zu erhalten.

    import requests
    from bs4 import BeautifulSoup
    
    # 请求页面
    url = 'http://www.example.com'
    response = requests.get(url)
    # 获取响应内容,并解析为文档树
    html = response.text
    soup = BeautifulSoup(html, 'lxml')
    
    # 选择所需标签
    title = soup.select('h1')[0]
    # 输出标签文本
    print(title.text)
    
    # 获取所有链接标签
    links = soup.select('a')
    # 输出链接的文本和地址
    for link in links:
     print(link.text, link['href'])

Zusammenfassung:
Durch die Einleitung dieses Artikels haben wir gelernt, wie man das Beautiful Soup-Modul in Python zum Parsen von Webseiten verwendet. Wir können Tags auf der Webseite über den Selektor auswählen und dann die entsprechenden Methoden verwenden, um den Inhalt und die Attributwerte des Tags zu erhalten. Beautiful Soup ist ein leistungsstarkes und benutzerfreundliches Tool, das eine bequeme Möglichkeit zum Parsen von Webseiten bietet und unsere Entwicklungsarbeit erheblich vereinfacht.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Beautifulsoup-Modul zum Parsen von Webseiten in Python 3.x. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen