使用 Python、Requests 和 BeautifulSoup 下载 PDF 文件
Requests 和 BeautifulSoup 是 Python 库,可以下载任何在线文件或 PDF。Request 库用于发送 HTTP 请求并接收响应。BeautifulSoup 库用于解析响应中接收到的 HTML 并获取可下载的 PDF 链接。在本文中,我们将了解如何使用 Python 中的 Request 和 Beautiful Soup 下载 PDF 文件。
安装依赖项
在 Python 中使用 BeautifulSoup 和 Request 库之前,我们需要使用 pip 命令在我们的系统中安装这些库。要安装 Request 和 BeautifulSoup 库,请在您的终端中运行以下命令。
pip install requests pip install beautifulsoup4
使用 Request 和 Beautiful Soup 下载 PDF 文件
要从互联网下载 PDF 文件,您需要首先使用 Request 库找到 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 可下载链接。
广告