BeautifulSoup学习笔记

BeautifulSoup引用方法:

        1、form bs4 import BeautifulSoup

        2、import bs4

BeautifulSoup的解释器:

        bs4的html解释器 :

        soup = BeautifulSoup('<html>date</html>','html.parser')、

        lxml的html解释器:# 需要pip install lxml

        soup = BeautifulSoup('<html>date</html>','lxml') 

        lxml的xml解释器:# 需要pip install lxml

        soup = BeautifulSoup('<html>date</html>','xml') 

        html5lib的解释器:# 需要pip install html5lib

        soup = BeautifulSoup('<html>date</html>','html5lib') 

BeautifulSoup类的基本元素

        Tag (标签):

        soup.div        # 返回页面中第一个div标签

        Tag的name (名字):

        soup.div.name        # 返回页面中第一个div标签的名字

        soup.div.parent.name        # 返回页面中第一个div父亲标签的名字

        soup.div.parent.parent.name        # 返回页面中第一个div父亲标签的父亲标签的名字

        Tag.attrs(属性):

        tag = soup.div

        tag.attrs['class']        # 获取div标签的class 属性值

        Tag的NavigableString(非属性字符串):

        tag.string         # 获取div标签的非属性字符串

        NavigableString可以跨越多个标签层次

        例:

                <p><b>我是非属性字符串</b></p>

                tag.string输出为:我是非属性字符串

                type(tag.string)显示类型为<class ‘bs4.element.NavigableString'>

        Tag的Comment(注释):

        例:

                <b><!--我是非属性字符串></b>

                tag.string输出为:我是非属性字符串

                type(tag.string)显示类型为<class 'bs4.element.Comment'>

BeautifulSoup的遍历方法:

        tag = soup.div

        下行遍历:

        tag.contents        # 获取tag下的子节点列表

        tag.children        #获取tag的子节点的迭代类型

        tag.descendants        #获取tag的子孙节点的迭代类型

        上行遍历:

        tag.parent        #获取tag节点的父标签

        tag.parents        #获取tag节点先辈标签的迭代类型

        平行遍历(同一父节点的兄弟节点遍历)

        tag.next_sibling        #获取html文本顺序的下一个平行节点标签

        tag.previous_sibling        #获取html文本顺序的上一个平行节点标签

        tag.next_siblings        #获取html文本顺序的后续所有平行节点标签的迭代类型

        tag.previous_siblings        #获取html文本顺序的前序所有平行节点标签迭代类型

prettify()方法

        为html文本标签及其内容增加‘\n’,可用于BeautifulSoup对象,也可用于标签

        soup.prettify()

        tag.a.prettify()        

参考视频:

        Python网络爬虫与信息提取_北京理工大学_中国大学MOOC(慕课)

BeautifulSoup是一个Python库,用于从HTML或XML文件中提取数据。它提供了一种简单而灵活的方式来解析和遍历标记文档,并提供了许多有用的方法和属性来获取所需的信息。 在BeautifulSoup库的学习笔记中,介绍了BeautifulSoup库的简介和安装方法。它可以通过pip进行安装,并且有多种解析器可供选择。BeautifulSoup类有五种基本元素,包括Tag标签、Name名字、Attributes属性、NavigableString非属性字符串和Comment注释。它们可以用于遍历标签树的下行、上行和平行遍历。此外,BeautifulSoup几乎覆盖了HTML和XML中的所有内容,还包括一些特殊对象,例如文档的注释部分。 需要注意的是,BeautifulSoup对象本身不是真正的HTML或XML的tag,因此它没有name和attribute属性。但是,在某些情况下,查看它的.name属性是很方便的,因此BeautifulSoup对象包含了一个特殊属性.name,其值为"[document]"。另外,还有一些特殊对象,例如注释对象,可以通过使用BeautifulSoup库来处理。 综上所述,BeautifulSoup库提供了强大的解析和提取HTML或XML中数据的功能,适用于各种爬虫和数据提取任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [BeautifulSoup学习笔记一](https://blog.csdn.net/weixin_43978546/article/details/104858873)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [BeautifulSoup 学习笔记](https://blog.csdn.net/zhengjian0617/article/details/81142540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值