Python BeautifulSoup基础总结

(一)BeautifulSoup4简介**

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方式。Beautiful Soup会帮你节省数小时甚至数天的工作时间。

使用BeautifulSoup

构建一个BeautifulSoup对象需要两个参数,第一个参数解析文本字符串,第二个参数告诉BeautifulSoup使用哪个解析器解析HTML。

解析器负责把HTML解析成相关的对象,而BeautifulSoup负责操作数据(增删查改),“html.parse”是Python内置的解析器,“lxml”则是一个C语言开发的解析器,它的执行速度更快,不过需要额外安装。

BeautifulSoup将HTML抽象成4类主要的数据类型,分别是Tag,NavigableString,BeautifulSoup,Comment。每个标签节点就是一个Tag对象,NavigableString对象一般是包裹在Tag对象中的字符串,BeautifulSoup对象代表整个HTML文档。

NavigableString

获取标签中的内容,直接使用.string即可获取,它是一个NavigableString对象

1.HTML代码内容

html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><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="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>
"""

使用BeautifulSoup解析html_doc,能够得到一个 BeautifulSoup 的对象,并能按照标准的缩进格式的结构输出:

知识点01
方法 说明
BeautifulSoup() 解析HTML文本, 并能按照标准的缩进格式的结构输出。
prettify() 对HTML文本编码和解码。
soup.title 获取title标签和标签中的内容。
soup.title.string 只获取title标签中的内容。
soup.title.parent 获取父节点及其内容。
soup.p 获取第一个p标签,如果要得到其内容:soup.p.string。
soup.p[‘class’] 获取第一个p标签的class属性的内容,返回列表数据类型。
find_all( ) 返回所有满足条件的标签,如果要处理标签使用遍历方法。
find() 获取某一个满足条件的标签。
get_te
PythonBeautifulSoup是一个用于解析HTML和XML文档的Python库。它可以帮助我们从网页中提取出需要的信息。 使用BeautifulSoup的第一步是导入该库。可以使用以下代码导入BeautifulSoup: ``` from bs4 import BeautifulSoup ``` 接下来,我们需要将要解析的HTML或XML文档传递给BeautifulSoup的构造函数,以创建一个BeautifulSoup对象。例如,可以使用以下代码创建一个BeautifulSoup对象: ``` soup = BeautifulSoup(html_doc, 'html.parser') ``` 在这里,`html_doc`是要解析的HTML或XML文档的字符串。 一旦我们创建了BeautifulSoup对象,我们就可以使用它来查找和提取我们需要的信息。以下是一些常见的用法: 1. 查找标签:使用`find()`或`find_all()`方法来查找具有特定标签的元素。例如,可以使用以下代码查找所有的`<a>`标签: ``` soup.find_all('a') ``` 2. 获取属性:可以使用`get()`方法来获取元素的属性值。例如,可以使用以下代码获取第一个`<a>`标签的`href`属性值: ``` soup.find('a').get('href') ``` 3. 获取文本:可以使用`text`属性来获取元素的文本内容。例如,可以使用以下代码获取第一个`<h1>`标签的文本内容: ``` soup.find('h1').text ``` 这只是BeautifulSoup的一些用法示例,还有更多的功能和方法可以帮助我们处理和分析网页信息。如果你想深入了解BeautifulSoup的用法,可以参考官方文档,文档中提供了详细的教程和示例。 总结一下,通过导入BeautifulSoup库、创建BeautifulSoup对象,并使用其提供的方法和属性,我们可以方便地解析和提取网页中的信息。希望这些信息对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python使用BeautifulSoup分析网页信息的方法](https://download.youkuaiyun.com/download/weixin_38669729/12878332)[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%"] - *2* *3* [[Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解](https://blog.youkuaiyun.com/Eastmount/article/details/109497225)[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、付费专栏及课程。

余额充值