python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例

  • Post category:Python

以下是详细讲解“python爬虫开发之BeautifulSoup模块从安装到详细使用方法与实例”的完整攻略,包括步骤和两个示例。

步骤

使用BeautifulSoup模块爬虫开发的步骤如下:

  1. 安装BeautifulSoup模块:pip install beautifulsoup4
  2. 导入BeautifulSoup模块:from bs4 import BeautifulSoup
  3. 创建BeautifulSoup对象:soup = BeautifulSoup(html, 'html.parser')
  4. 使用BeautifulSoup对象解析HTML:soup.prettify()
  5. 查找标:soup.find_all('tag')
  6. 获取标签属性:tag['attribute']
  7. 获取标签文本:tag.text

示例1:解析HTML

以下是一个示例代码,用于使用BeautifulSoup模块解析HTML

from bs4 import BeautifulSoup

html = """
<html>
    <head>
        <title>BeautifulSoup Example</title>
    </head>
    <body>
        <h1>BeautifulSoup Example</h1>
        <p>This is an example of BeautifulSoup module.</p>
        <ul>
            <li><a href="https://www.google.com">Google</a></li>
            <li><a href="https://www.baidu.com">Baidu</a></li>
            <li><a href="https://www.bing.com">Bing</a></li>
        </ul>
    </body>
</html>
"""

soup = BeautifulSoup(html, 'html.parser')
print(soup.prettify())

在这个示例中,我们首先导入了BeautifulSoup模块。然后,我们定义了一个HTML字符串。接着,我们创建了一个BeautifulSoup对象,并将HTML字符串和解析器类型作为参数传递。最后,我们使用prettify()函数输出格式化后的HTML。

示例2:查找标签

以下是一个示例代码,用于使用BeautifulSoup模块查找HTML标签:

from bs4 import BeautifulSoup

html = """
<html>
    <head>
        <title>BeautifulSoup Example</title>
    </head>
    <body>
        <h1>BeautifulSoup Example</h1>
        <p>This is an example of BeautifulSoup module.</p>
        <ul>
            <li><a href="https://www.google.com">Google</a></li>
            <li><a href="https://www.baidu.com">Baidu</a></li>
            <li><a href="https://www.bing.com">Bing</a></li>
        </ul>
    </body>
</html>
"""

soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a')

for link in links:
    print(link.text)
    print(link['href'])

在这个示例中,我们首先导入了BeautifulSoup模块。然后,我们定义了一个HTML字符串。接着,我们创建了一个BeautifulSoup对象,并将HTML字符串和解析器类型作为参数传递。然后,我们使用find_all()函数查找所有的<a>标签,并将它们存储在一个列表中。最后,我们遍历列表,并输出每个标签的文本和href属性。

注意事项

在使用BeautifulSoup模块进行爬虫开发时,需要注意以下事项:

  1. 在创建BeautifulSoup对象时,需要将HTML字符串和解析器类型作为参数传递。
  2. 在使用prettify()函数输出格式化后的HTML时,需要注意缩进和换行符的位置。
  3. 在使用find_all()函数查找标签时,需要将标签名称作为参数传递,并将结果存储在一个列表中。
  4. 在获取标签属性和文本时,需要使用tag['attribute']tag.text的形式。

以上就是python爬虫开发之BeautifulSoup模块从安装到详细使用方法与实例的完整攻略,包括步骤和两个示例。