[Python/第三方库/网络爬虫] Beautifulsoup4库:解析HTML/XML文档
1 概述:Beautifulsoup库
- 
BeautifulSoup是一个Python库,用于从HTML或XML文档中提取数据。它提供了一种简单的方式来遍历解析HTML/XML树,并提供了许多有用的方法来搜索、修改和操作文档。 
- 
在解析HTML中的JSON数据时,可以使用BeautifulSoup的find()或find_all()方法来查找包含JSON数据的标签。然后,可以使用Python的json库将JSON数据解析为Python对象。 
- 
BeautifulSoup4vslxml
lxml只会局部遍历
Beautiful Soup是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。
2 案例实践
CASE 使用BeautifulSoup从HTML中解析出JSON数据
from bs4 import BeautifulSoup
import json
# 假设html是包含JSON数据的HTML字符串
html = """
<html>
<body>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Doe",
  "jobTitle": "Software Engineer",
  "email": "johndoe@example.com"
}
</script>
</body>
</html>
"""
# 创建BeautifulSoup对象
soup = BeautifulSoup(html, 'html.parser')
# 查找包含JSON数据的标签
script_tag = soup.find('script', {'type': 'application/ld+json'})
# 提取JSON数据
json_data = json.loads(script_tag.string)
# 打印解析后的JSON数据
print(json_data)
- output
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Doe",
  "jobTitle": "Software Engineer",
  "email": "johndoe@example.com"
}
- 在这个例子中,我们假设HTML中包含一个
<script>标签,其type属性为application/ld+json,并且包含了一个JSON对象。我们使用
BeautifulSoup的find()方法找到这个标签,然后使用json库的loads()方法将其字符串解析为Python对象。
BeautifulSoup的优势在于:它提供了灵活而强大的方法来解析和操作HTML/XML文档。它支持CSS选择器、正则表达式等多种查找方式,使得解析和提取数据变得简单而高效。
- 在云计算领域中,解析HTML中的JSON数据可以用于从网页中提取结构化数据,例如爬取网页上的商品信息、新闻标题等。这些数据可以用于数据分析、机器学习等应用。
Y 推荐文献
X 参考文献
 
    
    本文作者:
        千千寰宇
    
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号