Inhaltsverzeichnis
Die Verwendung von Anfragen und BeautifulSoups ist der einfachste Weg, dies zu tun
Tipps zum Umgang mit relativen Links und Filtern ungültiger Links
Willst du schneller sein? Es kann mit LXML XPath erfolgen
Heim Backend-Entwicklung Python-Tutorial So extrahieren Sie alle Links aus einer Webseite mit Python

So extrahieren Sie alle Links aus einer Webseite mit Python

Jul 11, 2025 am 01:48 AM
python Web -Links

Um alle Links von einer Webseite zu extrahieren, ist die Verwendung von Pythons Anfragen und BeautifulSups der einfachste Weg, dies zu tun. Die Schritte lauten wie folgt: 1. Installieren Sie Abhängigkeiten: Anfragen und BeautifulSoup4; 2. Verwenden Sie Anfragen, um Seite HTML zu erhalten. 3.. Verwenden Sie BeautifulSoup, um alle Tags zu analysieren und zu finden. 4. Extrahieren Sie das HREF -Attribut jedes Tags; 5. Behandeln Sie optional relative Links und filtern Sie ungültige Links. 6. Sparen Sie optional die Ergebnisse oder weitere Verarbeitung. Der Beispielcode druckt alle Hyperlinks auf der aktuellen Seite. Wenn Sie eine höhere Leistung benötigen, können Sie die LXML XPath -Alternative verwenden, die zum Krabbeln einer großen Anzahl von Seiten geeignet ist. Der gesamte Prozess erfordert die Aufmerksamkeit für die Verarbeitung und Ausnahmen von Verbindungsformaten.

So extrahieren Sie alle Links aus einer Webseite mit Python

Um alle Links von einer Webseite zu extrahieren, ist die Verwendung von Python eine sehr direkte Art und Weise. Der Schlüssel ist, wie Sie den Seiteninhalt analysieren und href -Attribute in allen <a></a> Tags herausfinden.

So extrahieren Sie alle Links aus einer Webseite mit Python

Die Verwendung von Anfragen und BeautifulSoups ist der einfachste Weg, dies zu tun

Diese beiden Bibliotheken arbeiten zusammen, um HTML -Seiten leicht zu kriechen und zu analysieren. Der grundlegende Prozess ist: Verwenden Sie zuerst Anfragen, um den Webseiteninhalt zu erhalten, und verwenden Sie dann BeautifulSoup, um analysiert zu werden und schließlich alle Links zu finden.

Die Betriebsschritte sind ungefähr wie folgt:

So extrahieren Sie alle Links aus einer Webseite mit Python
  • Installationsabhängigkeiten: requests und beautifulsoup4
  • Initiieren Sie eine Anfrage, um die Seite HTML zu erhalten
  • Verwenden Sie BeautifulSoup, um alle <a></a> Tags zu finden
  • Extrahieren Sie das href -Attribut jedes Tags

Der Beispielcode lautet wie folgt:

 Anfragen importieren
Aus BS4 Import BeautifulSoup

url = &#39;https://example.com&#39;
response = requests.get (URL)
Suppe = BeautifulSoup (Antwort.Text, &#39;html.parser&#39;)

Für Link in Suppe.find_all (&#39;a&#39;):
    href = link.get (&#39;href&#39;)
    Wenn href:
        drucken (href)

Dadurch werden alle Hyperlinks auf der aktuellen Seite ausgedruckt. Wenn Sie in einer Datei speichern oder eine weitere Verarbeitung durchführen möchten, können Sie auch eine Logik hinzufügen.

So extrahieren Sie alle Links aus einer Webseite mit Python

Manchmal erhalten Sie relative Wege wie /about oder contact.html , die in eine vollständige URL gespleißt werden müssen. Sie können urljoin in urllib.parse verwenden, um dieses Problem zu lösen.

 von urllib.parse import urljoin

Base_url = &#39;https://example.com&#39;
relative_href = &#39;/über&#39;

Absolute_url = urljoin (Base_url, relative_href)
print (Absolute_url) # Ausgabe https://example.com/about

Einige Links beginnen auch mit mailto: oder javascript: die keine "normalen" Links sind, die Sie extrahieren möchten. Sie können während der Extraktion ein einfaches Urteilsvermögen fällen, um sie zu überspringen:

 if href.startswith ((&#39;http: //&#39;, &#39;https: //&#39;)):
    drucken (href)

Oder strenger:

 Wenn href.startswith (&#39;http&#39;) und &#39;: //&#39; in href:
    drucken (href)

Willst du schneller sein? Es kann mit LXML XPath erfolgen

Wenn Sie empfindlicher auf Leistung sind oder es gewohnt sind, Selektoren mit XPath zu schreiben, können Sie die lxml -Bibliothek verwenden, um die BeautifulSoup zu ersetzen. Es analysiert schneller und schreibt es ähnlich.

Nach der Installation können Sie es so verwenden:

 Anfragen importieren
von LXML importieren HTML

url = &#39;https://example.com&#39;
response = requests.get (URL)
tree = html.fromstring (Antwort.Content)

# Verwenden Sie XPath, um alle Hrefs eines Tags zu finden
hrefs = tree.xpath (&#39;// a/@href&#39;)

für href in hrefs:
    drucken (href)

Diese Methode ist bei einer großen Anzahl von Seiten effizienter und ist besonders für automatisierte Skripte oder Datenerfassungsaufgaben geeignet.


Grundsätzlich sind dies die Methoden, die von Ihren Gewohnheiten abhängt. Anfragen BeautifulSoup ist die freundlichste Kombination für Anfänger, während LXML für fortschrittliche Benutzer besser geeignet ist. Solange Sie auf die Verarbeitung von Link -Format und einige gemeinsame Ausnahmen achten, ist der gesamte Prozess tatsächlich nicht kompliziert, aber es ist leicht, Details zu ignorieren.

Das obige ist der detaillierte Inhalt vonSo extrahieren Sie alle Links aus einer Webseite mit Python. 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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind Klassenmethoden in Python Was sind Klassenmethoden in Python Aug 21, 2025 am 04:12 AM

ClassMethodsinpythonarboundtotheClassandNottoinstances, die THEMTOBECALLED WITHOUT CREATEANOBJECT.1.Theyaredefinedused the@classMethoddecoratorandtakeClsastheFirstparameter, überlegt

Python Asyncio Queue Beispiel Python Asyncio Queue Beispiel Aug 21, 2025 am 02:13 AM

asyncio.queue ist ein Warteschlangenwerkzeug für eine sichere Kommunikation zwischen asynchronen Aufgaben. 1. Der Produzent fügt Daten über AwaitQueue.put (Element) hinzu, und der Verbraucher verwendet AwaitQueue.get (), um Daten zu erhalten. 2. Für jeden Artikel, den Sie verarbeiten, müssen Sie Queue.task_done () anrufen, um auf Queue.join () zu warten, um alle Aufgaben zu erledigen. 3. Verwenden Sie keine als Endsignal, um den Verbraucher zu benachrichtigen, um zu stoppen. 4. Wenn mehrere Verbraucher mehrere Endsignale gesendet werden müssen oder alle Aufgaben bearbeitet wurden, bevor die Aufgabe abgesagt wird. 5. Die Warteschlange unterstützt die Einstellung der Maxsize -Grenzkapazität, die Einstellung und Erhalten von Vorgängen automatisch und blockiert die Ereignisschleife nicht, und das Programm übergeht schließlich CORD

So debuggen Sie eine Remote -Python -Anwendung in VSCODE So debuggen Sie eine Remote -Python -Anwendung in VSCODE Aug 30, 2025 am 06:17 AM

Um eine Remote -Python -Anwendung zu debuggen, müssen Sie Debugpy verwenden und die Portweiterleitung und Pfad -Mapping konfigurieren: Erstens installieren Sie Debugpy auf dem Remote -Computer und ändern Sie den Code, um Port 5678 zu hören, den Remote -Port über den lokalen Bereich über den SSH -Tunnel zu leiten. Starten Sie schließlich die Anwendung und stellen Sie eine Verbindung zum Debugger her, um das Debugging von Remote Breakpoint, die variable Überprüfung und den Code -Schritt zu realisieren. Der gesamte Prozess hängt von Debugpy, sicherer Portweiterleitung und präzisen Pfadabgleich ab.

Wie benutze ich reguläre Ausdrücke mit dem RE -Modul in Python? Wie benutze ich reguläre Ausdrücke mit dem RE -Modul in Python? Aug 22, 2025 am 07:07 AM

In Python werden regelmäßige Ausdrücke über das RE -Modul zum Suchen, Anpassen und Manipulieren von Saiten implementiert. 1. Verwenden Sie re.Search (), um das erste Spiel in der gesamten Zeichenfolge zu finden, re.Match () stimmt nur am Anfang der Zeichenfolge überein. 2. Verwenden Sie Klammern (), um die passenden Untergruppen zu erfassen, die benannt werden können, um die Lesbarkeit zu verbessern. 3.. Re.Findall () gibt alle nicht überlappenden Übereinstimmungen zurück und re.Finditer () gibt den Iterator des Matching-Objekts zurück; V. 5. Gemeinsame Muster umfassen \ d, \ w, \ s usw., Sie können re.ignorecase, re.multiline, re.dotall, RE verwenden

Wie baue ich Python in erhabenem Text? Wie baue ich Python in erhabenem Text? Aug 22, 2025 pm 03:37 PM

Sicherstellen

So übergeben Sie Befehlszeilenargumente an ein Skript in Python So übergeben Sie Befehlszeilenargumente an ein Skript in Python Aug 20, 2025 pm 01:50 PM

Verwendet.ArgvforsimplearGumentAccess, whErGumentsaranemanuell und und -AnoautomaticValidationorHelpiSpivided.2.Useargparseforrobustinterfaces, ASSITSUPPORTSAUTOMATICHELP, TYPLECKING, OPTIONALARGUMENTEN UNDDEFAULTSAUTSAUTOMATICHELP, TYPELALAGUMENTEN UNDDEFAILTVORTSAUTSEILUTE.

So verwenden Sie Variablen und Datentypen in Python So verwenden Sie Variablen und Datentypen in Python Aug 20, 2025 am 02:07 AM

VariablesinpythonarecreatedByaSsigningAvalueuchthe = Operator und Datatypesuchaint, Float, Str, Bool und Nonetypedefinethekindofdatabeing, WithpythonBeingynamicaldedsotypeckingoccursatruntimeuchtypypepe () und während der Zeit, und während der Bühne () und während der Zeit, () und während der Bühne () () und während der Zeit, und zwar und während der Bühne

Wie laufe ich Python in der erhabenen Textkonsole? Wie laufe ich Python in der erhabenen Textkonsole? Aug 22, 2025 pm 03:55 PM

Um Python -Skripte auszuführen, müssen Sie das Build -System von Sublimetext konfigurieren: 1. Stellen Sie sicher, dass Python in der Befehlszeile installiert und verfügbar ist. 2. Erstellen Sie ein neues Build-System in Sublimetext, geben Sie {"cmd" ein: ["python", "-u", "$ file"], "file_regex": "^[] Datei \" (...?) \ ", Zeile ([0-9]*)," Selektor ": & qual

See all articles