使用Python從網頁中提取標題

WBOY
發布: 2023-08-31 12:45:05
轉載
1092 人瀏覽過

使用Python從網頁中提取標題

在 Python 中,我們可以使用網頁抓取從網頁中提取標題。網路抓取是從網站或網頁提取資料的過程。在本文中,我們將使用 Python 中的 Requests 和 BeautifulSoup 庫廢棄網頁的標題。

從網頁中擷取標題

方法一:使用Request和Beautiful Soup函式庫

我們可以使用Python的request和Beautiful Soup庫來從網頁中提取標題。 requests 程式庫用於向網站發送 HTTP 請求並取得其回應。然後我們使用回應對象來提取網頁的 HTML 內容。

範例

在下面的範例中,我們提取維基百科主頁的標題。我們使用請求庫將 GET 請求傳送到維基百科頁面 URL,並將回應物件儲存在回應變數中。

然後,我們可以使用 Beautiful Soup 物件來解析回應物件中收到的 HTML 內容,並使用 soup.title 屬性來提取網頁的標題標籤。然後我們可以提取字串屬性並將其儲存在 title 變數中。

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)
登入後複製

輸出

Wikipedia
登入後複製
登入後複製
登入後複製
登入後複製

方法二:使用urllib和BeautifulSoup來擷取標題

urllib 和 BeautifulSoup 方法用於透過開啟 URL 並使用 urllib 庫檢索網頁的 HTML 內容來從網頁中提取標題。使用 HTML 內容建立一個 BeautifulSoup 對象,並且可以使用 'soup.title' 屬性來提取網頁的標題標籤。

範例

在下面的範例中,我們使用 urllib 庫開啟 URL 並檢索網頁的 HTML 內容。然後,我們使用 'html.parser' 解析器使用網頁的 HTML 內容建立一個 BeautifulSoup 物件。

然後我們可以使用 'soup.title' 屬性來提取網頁的標題標籤。最後,我們使用「string」屬性來提取標題標籤的字串內容並將其儲存在「title」變數中。然後我們將網頁的標題列印到控制台。

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)
登入後複製

輸出

Wikipedia
登入後複製
登入後複製
登入後複製
登入後複製

方法3:使用selenium和BeautifulSoup來擷取標題

selenium和BeautifulSoup方法用於透過使用selenium庫開啟URL並檢索網頁的HTML內容來從網頁中提取標題。建立 Chrome Webdriver 並用於導航至網頁。使用 webdriver 的「page_source」屬性來擷取網頁的 HTML 內容。使用 HTML 內容建立一個 BeautifulSoup 對象,並且可以使用 'soup.title' 屬性來提取網頁的標題標籤。

範例

在下面的範例中,我們使用 selenium 庫開啟 URL 並檢索網頁的 HTML 內容。我們建立一個 Chrome Webdriver 並使用它來導航到網頁。然後,我們使用網頁驅動程式的「page_source」屬性來擷取網頁的 HTML 內容。

我們使用「html.parser」解析器使用網頁的 HTML 內容建立一個 BeautifulSoup 物件。然後我們可以使用「soup.title」屬性來提取網頁的標題標籤。最後,我們使用「string」屬性來提取標題標籤的字串內容並將其儲存在「title」變數中。然後我們將網頁的標題列印到控制台。

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()
登入後複製

輸出

Wikipedia
登入後複製
登入後複製
登入後複製
登入後複製

方法四:使用正規表示式擷取標題

正規表示式方法用於透過使用請求庫向 URL 發送 GET 請求並儲存回應物件來從網頁中提取標題。然後,網頁的 HTML 內容被解碼並儲存在變數中。定義正規表示式模式來符合網頁的標題標籤。正規表示式模式的「搜尋」方法用於尋找該模式在網頁的 HTML 內容中的第一個匹配項。透過group(1)方法可以擷取第一個符合的群組的字串內容,從而得到網頁的標題。

範例

在下面的範例中,我們使用正規表示式來提取網頁的標題。我們使用 requests 庫向 URL 發送 GET 請求,並將回應物件儲存在「response」變數中。

然後,我們使用「utf-8」編碼解碼網頁的 HTML 內容,並將其儲存在「html_content」變數中。我們定義一個正規表示式模式來符合網頁的標題標籤。

我們使用正規表示式模式的「搜尋」方法來尋找該模式在網頁的 HTML 內容中的第一個符合項目。我們使用「group(1)」方法提取第一個符合群組的字串內容並將其儲存在「title」變數中。然後我們將網頁的標題列印到控制台。

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)
登入後複製

輸出

Wikipedia
登入後複製
登入後複製
登入後複製
登入後複製

結論

在本文中,我們討論了使用 requests 和 Python 中的 Beautiful Soup 程式庫從網頁中提取標題的過程。請求庫用於向網站 URL 發送 HTTP 請求並獲取 HTML 內容作為回應。然後使用 Beautiful Soup 庫解析 HTML 內容並從 HTML 內容中提取所需的標題。

以上是使用Python從網頁中提取標題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!