Heim > Backend-Entwicklung > Python-Tutorial > Schaberwebseiten in Python mit wunderschöner Suppe: Suche und DOM -Modifikation

Schaberwebseiten in Python mit wunderschöner Suppe: Suche und DOM -Modifikation

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-03-08 10:36:11
Original
667 Leute haben es durchsucht

Scraping Webpages in Python With Beautiful Soup: Search and DOM Modification

Dieses Tutorial baut auf der vorherigen Einführung in die schöne Suppe auf und konzentriert sich auf DOM -Manipulation über die einfache Baumnavigation hinaus. Wir werden effiziente Suchmethoden und -techniken zur Änderung der HTML -Struktur untersuchen.

Eine gemeinsame DOM -Suchmethode ist extend(). Diese Methode fügt einem Tag eine Liste von Elementen hinzu, wodurch deren ursprüngliche Bestellung aufrechterhalten wird. Wenn Sie sich jedoch einfach mit extend() erstrecken, kann dies jedoch dazu führen, dass Elemente eher als Zeichenfolgen als ordnungsgemäße HTML -Tags hinzugefügt werden.

import requests
from bs4 import BeautifulSoup

req = requests.get('https://en.wikipedia.org/wiki/Python_(programming_language)')
soup = BeautifulSoup(req.text, "lxml")

new_soup = BeautifulSoup("<ol></ol>", "lxml")

new_soup.ol.extend(['
Nach dem Login kopieren
  • ' + heading.text + '
  • ' for heading in soup.find_all('h2')]) print(new_soup.ol.contents) print(new_soup.find_all('li'))

    Das obige Beispiel demonstriert diese String-basierte Addition. Um Elemente als ordnungsgemäße HTML -Tags hinzuzufügen, verwenden Sie die Methode wrap(). Umgekehrt beseitigt die unwrap() -Methode Tags gleichzeitig ihre Inhalte. Veranschaulichen wir mit einem Beispiel, um mutige und kursive Tags zu entfernen:

    soup = BeautifulSoup("<p>We will <i>try</i> to get rid of <b>tags</b> that make text <b>bold</b> or <i>italic</i>. The content <i>within</i> the <b>tags</b> should still be <b>preserved</b>.</p>", "lxml")
    
    for unwanted_tag in soup.find_all(["b", "i"]):
        unwanted_tag.unwrap()
    
    print(soup.p.contents)
    soup.p.smooth()
    print(soup.p.contents)
    Nach dem Login kopieren

    Hier entfernt unwrap() die unerwünschten Tags. Beachten Sie, dass nach dem Entfernen von Tags die Textfragmente als NavigableStrings gespeichert werden. Die smooth() -Methode verkettet diese Zeichenfolgen zu einer einzelnen Zeichenfolge und vereinfacht die Ausgabe.

    Schlussfolgerung

    Diese Tutorials bilden eine Grundlage für das Abkratzen mit wunderschönen Suppen. Sie haben gelernt, wie man Webseiten analysiert, Daten extrahiert, die HTML -Struktur modifiziert und die Ergebnisse lokal speichert. Dies ermöglicht es Ihnen, Webinhalte effektiv zu verarbeiten und zu manipulieren.

    Das obige ist der detaillierte Inhalt vonSchaberwebseiten in Python mit wunderschöner Suppe: Suche und DOM -Modifikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    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
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage