使用 Python 中的 Requests 和 BeautifulSoup 下载 PDF

pythonserver side programmingprogramming

Request 和 BeautifulSoup 是可以在线下载任何文件或 PDF 的 Python 库。请求库用于发送 HTTP 请求并接收响应。BeautifulSoup 库用于解析响应中收到的 HTML 并获取可下载的 PDF 链接。在本文中,我们将了解如何使用 Python 中的 Request 和 Beautiful Soup 下载 PDF。

安装依赖项

在 Python 中使用 BeautifulSoup 和 Request 库之前,我们需要使用 pip 命令在系统中安装这些库。要安装请求和 BeautifulSoup 以及 Request 库,请在您的终端中运行以下命令。

pip install request
pip install beautifulsoup4

使用 Request 和 Beautiful Soup 下载 PDF

要从互联网上下载 PDF,您需要首先使用请求库找到 pdf 文件的 URL。然后我们可以使用 Beautiful Soup 解析 HTML 响应并提取 PDF 文件的链接。解析后收到的基本 URL 和 PDF 链接组合起来以获取 PDF 文件的 URL。现在我们可以使用请求方法并发送 Get 请求来下载文件。

示例

在下面的代码中,将包含 PDF 文件 URL 的页面的有效 URL 放在'https://example.com/document.pdf'的位置

import requests
from bs4 import BeautifulSoup

# 步骤 1:获取 PDF URL
url = 'https://example.com/document.pdf'
response = requests.get(url)

if response.status_code == 200:
    # 步骤 2:解析 HTML 以获取 PDF 链接
    soup = BeautifulSoup(response.text, 'html.parser')
    link = soup.find('a')['href']
    
    # 步骤 3:下载 PDF
    pdf_url = url + link
    pdf_response = request.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 文件。使用请求方法,我们可以发送 HTTP 请求来验证 PDF 链接。找到包含 PDF 文件链接的页面后,我们就可以使用 Beautiful Soup 下载、解析页面并获取可下载的 PDF 链接。


相关文章