python 爬虫篇(3)---->Beautiful Soup 网页解析库的使用(包含实例代码)

Beautiful Soup 网页解析库的使用


前言

大家好,今天我们来说一说爬虫中比较常用的一种解析数据的网页解析库—Beautiful Soup 的使用.可以从html网页中提取出我们想要的数据,比re正则方便而且还不容易出错,所以是爬虫中的得力助手.

beautiful soup支持多种解析器 例如’XML’ .‘HTML’ 等等

以下是beautiful soup所支持的解析器

在这里插入图片描述


一、安装Beautiful Soup 和 lxml

win + r 输入cmd 在终端中输入: pip install BeautifulSoup4 再输入 pip install lxml

注意: 如果出现爆红 或者警告 尝试使用镜像源下载 (以前的文章说过)


二、Beautiful Soup基本使用方法

标签选择器

1 .string --获取文本内容

h = """
<html>
    <head>
        <title>The Dormouse's story</title>
    </head>
    <body>
    <p class="title" name="dromouse"><b><span>The Dormouse's story</span></b></p>
    <p class="story">Once upon a time there were three little sisters; and their names were
    <a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
    <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
    <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
    and they lived at the bottom of a well.</p>
    <p class="story">...</p>
"""

# 1,导包
from bs4 import BeautifulSoup 
#,2,实例化对象
soup = BeautifulSoup(h, 'lxml')  # 参数1:要解析的内容  参数2:解析器

# 通过标签选取,会返回包含标签本身及其里面的所有内容
print(soup.head) # 包含head标签在内的所有内容
print(soup.p) # 返回匹配的第一个结果

# .string是属性,作用是获取字符串文本
print(soup.title.string)

运行结果:

	<head>
	<title>The Dormouse's story</title>
	</head>
	<p class="title" name="dromouse"><b><span>The Dormouse's story</span></b></p>
	The Dormouse's story

2 .name --获取标签本身名称

html = """
<html>
    <head>
        <title>The Dormouse's story</title>
    </head>
<body>
<p class="title" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="siste

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-14 01:18:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-14 01:18:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-14 01:18:02       87 阅读
  4. Python语言-面向对象

    2024-02-14 01:18:02       96 阅读

热门阅读

  1. 前端架构: 本地调试脚手架的2种方式

    2024-02-14 01:18:02       57 阅读
  2. 极其抽象的路由

    2024-02-14 01:18:02       40 阅读
  3. 蚁群算法实现

    2024-02-14 01:18:02       54 阅读
  4. 突破编程_C++_基础教程(输入、输出与文件)

    2024-02-14 01:18:02       38 阅读
  5. 力扣:376. 摆动序列

    2024-02-14 01:18:02       47 阅读
  6. 交易中的胜率和盈亏比估算

    2024-02-14 01:18:02       90 阅读
  7. 数据结构-树

    2024-02-14 01:18:02       45 阅读