安装

pip install BeautifulSoup

安装小试

>>> import requests
>>> r = requests.get("https://www.python123.io/ws/demo.html")
>>> demo = r.text

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(demo, "html.parser")
>>> print(soup.prettify())

BeautifulSoup库的基本元素

###BeautifulSoup库的理解

html文件结构:由一组尖括号构成的标签组织起来,形成的标签树的形式。

<html>
    <body>
        <b><!--This is a comment--></b><p calss="title">...</p>
  </body>
</html>

爬虫之BeautifulSoup库入门笔记-LMLPHP

BeautifulSoup库是解析、遍历、维护“标签树”的功能库。

BeautifulSoup库的引用

from bs4 import BeautifulSoup

##BeautifulSoup库解析器

BeautifulSoup类的基本元素

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(demo, "html.parser")
>>> print(soup.prettify())
#获取a标签的名字
>>> soup.a.name
'a'
>>> soup.a.parent.name
'p'
>>> soup.a.parent.parent.name
'body'
#获得a标签的属性,是一个字典类型
>>> tag = soup.a
>>> tag.attrs
{'href': 'http://www.icourse163.org/course/BIT-268001', 'class': ['py1'], 'id': 'link1'}
#获得class属性的值
>>> tag.attrs['class']
['py1']
#查看标签的类型
>>> type(tag)
<class 'bs4.element.Tag'>

基于bs4库的HTML内容遍历方法

标签树的下行遍历

标签树的上行遍历

标签树的平行遍历

基于bs4库的HTML的格式输出

prettify()方法

“友好”的输出HTML文本

>>> print(soup.prettify())
10-06 21:02