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

王林
发布: 2023-08-30 15:25:06
转载
2078人浏览过

使用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请求来下载文件了。

SpeakingPass-打造你的专属雅思口语语料
SpeakingPass-打造你的专属雅思口语语料

使用chatGPT帮你快速备考雅思口语,提升分数

SpeakingPass-打造你的专属雅思口语语料25
查看详情 SpeakingPass-打造你的专属雅思口语语料

示例

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

立即学习Python免费学习笔记(深入)”;

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中文网其它相关文章!

相关标签:
WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号