首頁  >  文章  >  後端開發  >  使用Python的Requests和BeautifulSoup下載PDF文件

使用Python的Requests和BeautifulSoup下載PDF文件

王林
王林轉載
2023-08-30 15:25:06916瀏覽

使用Python的Requests和BeautifulSoup下載PDF文件

Request 和 BeautifulSoup 是可以在線上下載任何檔案或 PDF 的 Python 函式庫。請求庫用於發送 HTTP 請求和接收回應。 BeautifulSoup 函式庫用於解析回應中收到的 HTML 並取得可下載的 pdf 連結。在本文中,我們將了解如何在 Python 中使用 Request 和 Beautiful Soup 下載 PDF。

安裝依賴項

在 Python 中使用 BeautifulSoup 和 Request 函式庫之前,我們需要使用 pip 指令在系統中安裝這些函式庫。若要安裝 request 以及 BeautifulSoup 和 Request 程式庫,請在終端機中執行下列命令。

pip install requests
pip install beautifulsoup4

使用 Request 和 Beautiful Soup 下載 PDF

要從網路下載 PDF,您需要先使用請求庫找到 pdf 檔案的 URL。然後我們可以使用 Beautiful Soup 解析 HTML 回應並提取 PDF 文件的連結。然後將基本 URL 和解析後收到的 PDF 連結結合起來,得到 PDF 檔案的 URL。現在我們可以使用request方法發送Get請求來下載檔案了。

範例

在下面的程式碼中,將包含 PDF 文件 URL 的頁面的有效 URL 放在「https://example.com/document.pdf」處

import requests
from bs4 import BeautifulSoup

# Step 1: Fetch the PDF URL
url = 'https://example.com/document.pdf'
response = requests.get(url)

if response.status_code == 200:
   # Step 2: Parse the HTML to get the PDF link
   soup = BeautifulSoup(response.text, 'html.parser')
   link = soup.find('a')['href']

   # Step 3: Download the PDF
   pdf_url = url + link
   pdf_response = requests.get(pdf_url)

   if pdf_response.status_code == 200:
      with open('document.pdf', 'wb') as f:
         f.write(pdf_response.content)
      print('PDF downloaded successfully.')
   else:
      print('Error:', pdf_response.status_code)
else:
   print('Error:', response.status_code)

輸出

PDF downloaded successfully.

結論

在本文中,我們討論如何使用 Python 中的 Request 和 Beautiful Soup 程式庫從網路下載 PDF 檔案。透過 request 方法,我們可以發送 HTTP 請求來驗證 PDF 連結。一旦找到包含 PDF 文件連結的頁面,我們就可以使用 Beautiful Soup 下載解析頁面並取得 PDF 下載連結。

以上是使用Python的Requests和BeautifulSoup下載PDF文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除