BeautifulSoup是一个强大的网页解析工具,它借助网页的结构和属性等特性来解析网页。有了它就不用再去写一些复杂的正则表达式来匹配我们想要的信息,只需要简单的几条语句就能完成网页中某个元素的提取。
一、简介
简单来说,BeautifulSoup就是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。官网的介绍如下:
- Beautiful Soup提供了一些简单的方法和Pythonic习语,用于导航,搜索和修改解析树:用于剖析文档和提取所需内容的工具包。编写应用程序不需要太多代码。
- Beautiful Soup会自动将传入的文档转换为Unicode,将传出的文档转换为UTF-8。您不必考虑编码,除非文档未指定编码且Beautiful Soup无法检测到编码。然后你只需要指定原始编码。
- Beautiful Soup位于流行的Python解析器之上,如lxml和html5lib,允许您尝试不同的解析策略或强劲速度以获得灵活性。
所以说,使用它能够省去很多繁琐的提取工作,提高了解析效率。
在使用BeautifulSoup前,需要安装BeautifulSoup,一般anaconda会包含这个库不需要安装,优先安装anaconda3版本,省去很多安装库的麻烦。
二、基本用法
from bs4 import BeautifulSoup
html = """
<html><head><title>The Dormouse’ s story</title></head>
<body >
<p class="story" name="dormouse">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="linkl">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class=