Heim  >  Artikel  >  Backend-Entwicklung  >  Extrahieren Sie Titel aus Webseiten mit Python

Extrahieren Sie Titel aus Webseiten mit Python

WBOY
WBOYnach vorne
2023-08-31 12:45:051068Durchsuche

Extrahieren Sie Titel aus Webseiten mit Python

In Python können wir mithilfe von Web Scraping Titel aus Webseiten extrahieren. Beim Web Scraping werden Daten von einer Website oder Webseite extrahiert. In diesem Artikel entfernen wir den Titel einer Webseite mithilfe der Requests- und BeautifulSoup-Bibliotheken in Python.

Titel aus Webseiten extrahieren

Methode 1: Verwenden Sie die Bibliotheken „Request“ und „Beautiful Soup“

Wir können die Anfrage- und Beautiful Soup-Bibliotheken von Python verwenden, um Titel aus Webseiten zu extrahieren. Die Anforderungsbibliothek wird verwendet, um HTTP-Anfragen an Websites zu senden und deren Antworten zu erhalten. Anschließend verwenden wir das Antwortobjekt, um den HTML-Inhalt der Webseite zu extrahieren.

Beispiel

Im folgenden Beispiel extrahieren wir den Titel der Wikipedia-Homepage. Wir verwenden die Anforderungsbibliothek, um eine GET-Anfrage an die URL der Wikipedia-Seite zu senden und das Antwortobjekt in der Antwortvariablen zu speichern.

Wir können dann das Beautiful Soup-Objekt verwenden, um den im Antwortobjekt empfangenen HTML-Inhalt zu analysieren und das Titel-Tag der Webseite mithilfe der Eigenschaft soup.title zu extrahieren. Anschließend können wir das String-Attribut extrahieren und in der Titelvariablen speichern.

import requests
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
response = requests.get(url)

soup = BeautifulSoup(response.content, 'html.parser')
title = soup.title.string

print(title)

Ausgabe

Wikipedia

Methode 2: Verwenden Sie urllib und BeautifulSoup, um Titel zu extrahieren

Die Methoden

urllib und BeautifulSoup werden verwendet, um den Titel einer Webseite zu extrahieren, indem die URL geöffnet und der HTML-Inhalt der Webseite mithilfe der URLlib-Bibliothek abgerufen wird. Erstellen Sie ein BeautifulSoup-Objekt mit dem HTML-Inhalt und verwenden Sie die Eigenschaft „soup.title“, um den Titel-Tag der Seite zu extrahieren.

Beispiel

Im folgenden Beispiel verwenden wir die URL-Bibliothek, um eine URL zu öffnen und den HTML-Inhalt der Webseite abzurufen. Anschließend verwenden wir den Parser 'html.parser', um mithilfe des HTML-Inhalts der Webseite ein BeautifulSoup-Objekt zu erstellen.

Wir können dann den Titel-Tag der Webseite mithilfe des Attributs 'soup.title' extrahieren. Schließlich verwenden wir das Attribut „string“, um den String-Inhalt des Titel-Tags zu extrahieren und ihn in der Variablen „title“ zu speichern. Dann geben wir den Titel der Webseite auf der Konsole aus.

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
html_page = urlopen(url)
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

Ausgabe

Wikipedia

Methode 3: Titel mit Selenium und BeautifulSoup extrahieren

Selenium- und BeautifulSoup-Methoden werden zum Extrahieren von Titeln aus Webseiten verwendet, indem die URL mithilfe der Selenium-Bibliothek geöffnet und der HTML-Inhalt der Webseite abgerufen wird. Erstellen Sie einen Chrome-Webtreiber und verwenden Sie ihn zum Navigieren zu Webseiten. Rufen Sie den HTML-Inhalt der Webseite mithilfe des Attributs „page_source“ des Webtreibers ab. Erstellen Sie ein BeautifulSoup-Objekt mit dem HTML-Inhalt und verwenden Sie die Eigenschaft „soup.title“, um den Titel-Tag der Seite zu extrahieren.

Beispiel

Im folgenden Beispiel verwenden wir die Selenium-Bibliothek, um eine URL zu öffnen und den HTML-Inhalt der Webseite abzurufen. Wir erstellen einen Chrome-Webtreiber und verwenden ihn zum Navigieren zu Webseiten. Anschließend rufen wir den HTML-Inhalt der Webseite mithilfe des Attributs „page_source“ des Webtreibers ab.

Wir verwenden den Parser „html.parser“, um mithilfe des HTML-Inhalts der Webseite ein BeautifulSoup-Objekt zu erstellen. Anschließend können wir den Titel-Tag der Webseite mithilfe der Eigenschaft „soup.title“ extrahieren. Schließlich verwenden wir das Attribut „string“, um den String-Inhalt des Titel-Tags zu extrahieren und ihn in der Variablen „title“ zu speichern. Dann geben wir den Titel der Webseite auf der Konsole aus.

from selenium import webdriver
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
driver = webdriver.Chrome()
driver.get(url)

html_page = driver.page_source
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

driver.quit()

Ausgabe

Wikipedia

Methode 4: Verwenden Sie reguläre Ausdrücke, um Titel zu extrahieren

Die Methode des regulären Ausdrucks wird verwendet, um Header aus Webseiten zu extrahieren, indem die Anforderungsbibliothek verwendet wird, um eine GET-Anfrage an die URL zu senden und das Antwortobjekt zu speichern. Der HTML-Inhalt der Webseite wird dann dekodiert und in Variablen gespeichert. Definieren Sie ein reguläres Ausdrucksmuster, das dem Titel-Tag einer Webseite entspricht. Die Suchmethode eines regulären Ausdrucksmusters findet das erste Vorkommen des Musters im HTML-Inhalt der Webseite. Mit der Methode group(1) kann der String-Inhalt der ersten übereinstimmenden Gruppe extrahiert werden, um den Titel der Webseite zu erhalten.

Beispiel

Im folgenden Beispiel verwenden wir reguläre Ausdrücke, um den Titel einer Webseite zu extrahieren. Wir verwenden die Requests-Bibliothek, um eine GET-Anfrage an eine URL zu senden und das Antwortobjekt in der Variablen „response“ zu speichern.

Dann dekodieren wir den HTML-Inhalt der Webseite mit der „utf-8“-Kodierung und speichern ihn in der Variablen „html_content“. Wir definieren ein reguläres Ausdrucksmuster, das dem Titel-Tag einer Webseite entspricht.

Wir verwenden die „Such“-Methode eines regulären Ausdrucksmusters, um das erste Vorkommen des Musters im HTML-Inhalt der Webseite zu finden. Wir verwenden die Methode „group(1)“, um den String-Inhalt der ersten passenden Gruppe zu extrahieren und ihn in der Variablen „title“ zu speichern. Dann geben wir den Titel der Webseite auf der Konsole aus.

import requests

url = 'https://www.wikipedia.org/'
response = requests.get(url)
html_content = response.content.decode('utf-8')

title_pattern = re.compile('(.+?)')
match = title_pattern.search(html_content)
title = match.group(1)

print(title)

Ausgabe

Wikipedia

Fazit

In diesem Artikel haben wir den Prozess des Extrahierens von Titeln aus Webseiten mithilfe von Anfragen und der Beautiful Soup-Bibliothek in Python besprochen. Die Anforderungsbibliothek wird verwendet, um HTTP-Anfragen an Website-URLs zu senden und als Antwort HTML-Inhalte zu erhalten. Anschließend wird die Beautiful Soup-Bibliothek verwendet, um den HTML-Inhalt zu analysieren und die erforderlichen Header aus dem HTML-Inhalt zu extrahieren.

Das obige ist der detaillierte Inhalt vonExtrahieren Sie Titel aus Webseiten mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen