Beautiful Soup 网页解析库的使用
文章目录
- Beautiful Soup 网页解析库的使用
- 前言
- 一、安装Beautiful Soup 和 lxml
- 二、Beautiful Soup基本使用方法
-
- 标签选择器
-
- 1 .string --获取文本内容
- 2 .name --获取标签本身名称
- 3 .attrs[] --通过属性拿属性的值
- 标准选择器
-
- find_all( name , attrs , recursive , text , **kwargs )
-
- text=() 根据文本值选择
- find( name , attrs , recursive , text , **kwargs )
- CSS选择器
-
- 获取属性的值
- 总结
前言
大家好,今天我们来说一说爬虫中比较常用的一种解析数据的网页解析库—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