📌  相关文章
📜  使用 BeautifulSoup 获取所有标题标签的列表(1)

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

使用 BeautifulSoup 获取所有标题标签的列表

如果你想要从 HTML 页面中获取所有的标题标签(h1h2h3 等),可以使用 Python 中的 BeautifulSoup 库实现。下面是一个简单的代码示例:

from bs4 import BeautifulSoup
import requests

url = 'https://example.com'
response = requests.get(url)
html = response.text

soup = BeautifulSoup(html, 'html.parser')
titles = [title.text for title in soup.find_all(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])]

print(titles)

代码解释:

  • 首先引入了 BeautifulSouprequests 两个库。
  • 然后定义了一个变量 url,存储需要解析的 HTML 页面的链接。
  • 使用 requests.get() 函数获取页面源代码,并将其赋值给 html 变量。
  • 使用 BeautifulSoup 函数将 html 变量中的 HTML 代码解析成一个 BeautifulSoup 对象,并将其赋值给 soup 变量。解析时使用了 html.parser 解析器。
  • 最后使用 find_all() 方法找到了所有的标题标签,并使用列表生成式将它们的文本内容提取出来存储到 titles 变量中。
  • 最后打印输出了 titles 变量,即所有标题标签的文本内容列表。

以上代码返回的结果是包含所有标题标签文本内容的列表。如果需要将其以 Markdown 格式输出,可以使用以下代码:

for title in titles:
    print(f'# {title}\n')

代码解释:

  • 利用 Python 的 for 循环遍历 titles 列表,将其中每个元素(即标题文本内容)添加 Markdown 标题符,输出即可。

返回的 Markdown 格式如下:

# Title 1

# Title 2

# Title 3

...