BeautifulSoup库的使用

Posted zihkj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup库的使用相关的知识,希望对你有一定的参考价值。

一、beautifulSoup库的安装

pip install BeautifulSoup

技术图片

 

 

二、beautifulsoup库的使用

1、调用beautifulsoup库

from bs4 import beautifulsoup4

import bs4

2、beautifulsoup简单使用

from bs4 import BeautifulSoup

soup = BeautifulSoup("<html>data<html>","html.parser")
soup2 = BeautifulSoup("<html>data<html>","html.parser")

BeautifulSoup对应一个HTML/XML文档的全部内容

3、beautifulsoup解析器

bs4的HTML解析器    BeautifulSoup(mk,‘html.parser‘)    安装bs4库

lxml的HTML解析器    BeautifulSoup(mk,‘lxml‘)         pip install lxml

lxml的XML解析器       BeautifulSoup(mk,‘xml‘)         pip install lxml

html5lib的解析器       BeautifulSoup(mk,‘html5lib‘)        pip install html5lib

4、beautifulsoup类的基本元素

Tag          标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾

Name         标签的名字,<p>...</p>的名字是‘p‘,格式:<tag>.name

Attributes        标签的属性,字典形式组织,格式:<tag>.attrs

NavigableString      标签内非属性字符串,<>...</>中的字符串,格式:<tag>.string

Comment         标签内字符串的注释部分,一种特殊的Comment类型

5、标签树的下行遍历

.contents        子节点的列表,将<tag>所有的儿子节点存入列表

.children         子节点的迭代类型,与.contents类似,用于循环遍历儿子节点

.descendants      子节点的迭代类型,包括所有的子孙节点,用于循环遍历

技术图片

 

技术图片

 

 

 6、标签树上行遍历

.parent      节点的父亲标签

.parents       节点先辈标签的迭代类型,用于循环遍历先辈节点

技术图片

 

 7、标签树的平行遍历属性

.next_sibling        返回按照HTML文本顺序的下一个平行节点标签

.previous_sibling      返回按照HTML文本顺序的上一个平行节点标签

.next_siblings         迭代类型,返回按照HTML文本顺序的后续所有平行节点标签

.previous_siblings       迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

条件:平行遍历必须发生在同一个父节点下的各节点间

技术图片

 

以上是关于BeautifulSoup库的使用的主要内容,如果未能解决你的问题,请参考以下文章

用简单的例子说明BeautifulSoup库的使用

BeautifulSoup库的使用

python BeautifulSoup库的基本使用

Python 爬虫 BeautifulSoup4 库的使用

python 爬虫之BeautifulSoup 库的基本使用

Python:requests库BeautifulSoup4库的基本使用(实现简单的网络爬虫)