📜  beautifulsoup python (1)

📅  最后修改于: 2023-12-03 14:39:30.486000             🧑  作者: Mango

Beautiful Soup Python介绍

如果你正在编写Python程序并需要从HTML或XML文件中提取数据,那么你需要用到Beautiful Soup。Beautiful Soup是一个Python库,它可以从HTML和XML文件中提取数据,并可以避免处理过程中的常见错误。

安装

你可以使用pip在命令行中安装Beautiful Soup:

pip install beautifulsoup4
使用

在Python中导入BeautifulSoup模块:

from bs4 import BeautifulSoup
解析HTML

在Beautiful Soup中解析HTML非常容易。只需将HTML文档传递给BeautifulSoup函数即可创建一个BeautifulSoup解析器的对象。

html_doc = """
<html><head><title>Beautiful Soup Python介绍</title></head>
<body>
<p class="description">如果你正在编写Python程序并需要从HTML或XML文件中提取数据,那么你需要用到Beautiful Soup。</p>
<p class="description">Beautiful Soup是一个Python库,它可以从HTML和XML文件中提取数据,并可以避免处理过程中的常见错误。</p>

<p class="description">安装:</p>
<pre><code>pip install beautifulsoup4</code></pre>

<p class="description">使用:</p>
<pre><code>from bs4 import BeautifulSoup</code></pre>

<p class="description">在Beautiful Soup中解析HTML非常容易。只需将HTML文档传递给BeautifulSoup函数即可创建一个BeautifulSoup解析器的对象:</p>
<pre><code>soup = BeautifulSoup(html_doc, 'html.parser')</code></pre>

</body></html>
"""

soup = BeautifulSoup(html_doc, 'html.parser')

# 输出排版后的HTML代码
print(soup.prettify())

输出结果:

<html>
 <head>
  <title>
   Beautiful Soup Python介绍
  </title>
 </head>
 <body>
  <p class="description">
   如果你正在编写Python程序并需要从HTML或XML文件中提取数据,那么你需要用到Beautiful Soup。
  </p>
  <p class="description">
   Beautiful Soup是一个Python库,它可以从HTML和XML文件中提取数据,并可以避免处理过程中的常见错误。
  </p>
  <p class="description">
   安装:
  </p>
  <pre><code>pip install beautifulsoup4</code></pre>
  <p class="description">
   使用:
  </p>
  <pre><code>from bs4 import BeautifulSoup</code></pre>
  <p class="description">
   在Beautiful Soup中解析HTML非常容易。只需将HTML文档传递给BeautifulSoup函数即可创建一个BeautifulSoup解析器的对象:
  </p>
  <pre><code>soup = BeautifulSoup(html_doc, 'html.parser')</code></pre>
 </body>
</html>
导航树

Beautiful Soup将解析后的HTML文档生成一个对象,你可以从这个对象中获取信息。在Beautiful Soup中,文档被转换成一个有层级结构的树形结构,我们可以通过这个导航树来查找和提取数据。

# 获取title标签的文本内容
title = soup.title.string
print('title: ', title)

# 获取所有p标签的文本内容
p_tags = soup.find_all('p')
for p in p_tags:
    print(p.get('class'), ':', p.string)

# 获取第一个pre标签的文本内容
pre_tag = soup.find('pre')
print('pre_tag: ', pre_tag.string)

输出结果:

title:  Beautiful Soup Python介绍
['description'] : 如果你正在编写Python程序并需要从HTML或XML文件中提取数据,那么你需要用到Beautiful Soup。
['description'] : Beautiful Soup是一个Python库,它可以从HTML和XML文件中提取数据,并可以避免处理过程中的常见错误。
['description'] : 安装:
['description'] : 使用:
None
pre_tag:  pip install beautifulsoup4
CSS选择器

Beautiful Soup支持许多CSS选择器,可以帮助你更方便地从HTML中提取数据。

# 获取所有class为description的p标签的文本内容
p_tags = soup.select('p.description')
for p in p_tags:
    print(p.string)

# 获取第一个pre标签内的code标签的文本内容
code_tag = soup.select_one('pre code')
print('code_tag: ', code_tag.string)

输出结果:

如果你正在编写Python程序并需要从HTML或XML文件中提取数据,那么你需要用到Beautiful Soup。
Beautiful Soup是一个Python库,它可以从HTML和XML文件中提取数据,并可以避免处理过程中的常见错误。
安装:
使用:
code_tag:  pip install beautifulsoup4
总结

Beautiful Soup是一个非常方便的Python库,可以让我们从HTML和XML文件中轻松提取数据。通过使用Beautiful Soup,可以避免在处理过程中遇到的一些常见错误,例如编解码问题和字符编码问题。尝试使用Beautiful Soup吧!