从URL地址下载文件是网络编程中的一个常见任务。Python提供了多种库来实现这一功能,其中最常用的是requests
库来处理HTTP请求,以及urllib
库来处理URL相关的操作。
以下是一个使用Python从URL地址下载所有PDF文件的示例代码:
import requests
from bs4 import BeautifulSoup
import os
def download_pdf(url, folder='pdfs'):
# 创建文件夹
if not os.path.exists(folder):
os.makedirs(folder)
# 发送HTTP请求
response = requests.get(url)
response.raise_for_status()
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
links = soup.find_all('a', href=True)
for link in links:
href = link['href']
if href.endswith('.pdf'):
pdf_url = href
pdf_name = href.split('/')[-1]
pdf_path = os.path.join(folder, pdf_name)
# 下载PDF文件
pdf_response = requests.get(pdf_url)
pdf_response.raise_for_status()
with open(pdf_path, 'wb') as f:
f.write(pdf_response.content)
print(f'Downloaded {pdf_name}')
# 示例URL
url = 'https://example.com'
download_pdf(url)
response.raise_for_status()
捕获并处理HTTP错误。os.makedirs(folder, exist_ok=True)
避免重复创建文件夹;检查并确保有足够的权限。通过以上方法,可以有效地从URL地址下载所有PDF文件,并解决常见的下载问题。
领取专属 10元无门槛券
手把手带您无忧上云