Beautiful Soup - 抓取HTML內容



從網站提取資料的過程稱為網頁抓取。網頁可能包含網址、電子郵件地址、影像或任何其他內容,我們可以將其儲存在檔案或資料庫中。手動搜尋網站是一個繁瑣的過程。有不同的網頁抓取工具可以自動化此過程。

網頁抓取有時會被“robots.txt”檔案禁止。一些流行的網站提供API以結構化方式訪問其資料。不道德的網頁抓取可能會導致您的IP被封。

Python被廣泛用於網頁抓取。Python標準庫具有urllib包,可用於從HTML頁面提取資料。由於urllib模組與標準庫捆綁在一起,因此無需安裝。

urllib包是Python程式語言的HTTP客戶端。當我們想要開啟和讀取URL時,urllib.request模組非常有用。urllib包中的其他模組包括:

  • urllib.error 定義了urllib.request命令引發的異常和錯誤。

  • urllib.parse 用於解析URL。

  • urllib.robotparser 用於解析robots.txt檔案。

使用urllib模組中的urlopen()函式從網站讀取網頁內容。

import urllib.request
response =  urllib.request.urlopen('https://python.club.tw/') 
html = response.read()

您也可以為此目的使用requests庫。在使用前需要安裝它。

pip3 install requests

在下面的程式碼中,抓取了https://tutorialspoint.tw的首頁:

from bs4 import BeautifulSoup
import requests


url = "https://tutorialspoint.tw/index.htm"
req = requests.get(url)

然後使用Beautiful Soup解析透過上述兩種方法之一獲得的內容。

廣告
© . All rights reserved.