📜  如何在链接 beautifulsoup 中找到 pdf 文件 - Python (1)

📅  最后修改于: 2023-12-03 15:09:04.026000             🧑  作者: Mango

如何在链接 BeautifulSoup 中找到 PDF 文件 - Python

在网页爬虫过程中,我们经常需要从链接中获取文件或资源。其中,PDF 文件也是一种常见的文件格式。在 Python 中,我们可以通过 BeautifulSoup 库来解析 HTML 页面并获取相关链接。

接下来,我们将介绍如何使用 BeautifulSoup 找到链接中的 PDF 文件。

准备工作
  1. 安装 BeautifulSoup 库

在终端中运行以下命令安装 BeautifulSoup:

pip install beautifulsoup4
  1. 准备 HTML 页面

我们需要从该页面中提取 PDF 文件链接。以下是一个示例页面:

<!DOCTYPE html>
<html>
<head>
	<title>Python PDF Files</title>
</head>
<body>
	<h1>Python PDF Files</h1>
	<ul>
		<li><a href="https://www.example.com/python_tutorial.pdf">Python Tutorial</a></li>
		<li><a href="https://www.example.com/python_cheat_sheet.pdf">Python Cheat Sheet</a></li>
		<li><a href="https://www.example.com/python_cookbook.pdf">Python Cookbook</a></li>
	</ul>
</body>
</html>
解析链接

我们可以使用 BeautifulSoup 的 find_all 函数来解析所有链接,并判断其 href 属性是否以 .pdf 结尾。

以下是示例代码:

from bs4 import BeautifulSoup
import requests

# 请求页面内容
url = 'https://www.example.com/python_pdfs.html'
response = requests.get(url)

# 解析页面内容
soup = BeautifulSoup(response.content, 'html.parser')

# 查找所有链接
links = soup.find_all('a')

# 遍历所有链接,查找 PDF 文件
for link in links:
    href = link.get('href')
    if href.endswith('.pdf'):
        print(href)

输出:

https://www.example.com/python_tutorial.pdf
https://www.example.com/python_cheat_sheet.pdf
https://www.example.com/python_cookbook.pdf

我们通过查找所有链接,并使用 endswith 函数判断链接的结尾是否为 .pdf,最终得到了所有 PDF 文件的链接。