Python 数据分析之Beautiful Soup 提取页面信息

 更新时间:2021年10月18日 14:48:16   作者:我是小白呀  
Beautiful Soup 提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序

概述

数据分析 (Data Analyze) 可以在工作中的各个方面帮助我们. 本专栏为量化交易专栏下的子专栏, 主要讲解一些数据分析的基础知识.

在这里插入图片描述

Beautiful Soup

Beautiful 是一个可以从 HTML 或 XML 文件中提取数据的 Pyhton 库. 简单来说, 它能将 HTML 的标签文件解析成树形结构, 然后方便的获取到指定标签的对应属性.

在这里插入图片描述

安装:

pip install beautifulsoup4

例子:

from bs4 import BeautifulSoup

# 创建一段HTML代码
html_content = """
<html>
<head>
<title>我是小白呀的博客</title>
</head>
<body>
<p class="redColor">个人介绍</p>
</body>
</html>
"""

# 生成soup
soup = BeautifulSoup(html_content, "html.parser")

# 调试输出
print(soup.title)  # 标题
print("name:", soup.title.name)
print(soup.head)  # 头部
print("name:", soup.head.name)
print(soup.p)  # 段落
print("name:", soup.p.name)
print("class:", soup.p.attrs)

输出结果:

<title>我是小白呀的博客</title>
name: title
<head>
<title>我是小白呀的博客</title>
</head>
name: head
<p class="redColor">个人介绍</p>
name: p
class: {'class': ['redColor']}
class: ['redColor']

提取页面信息

例子:

from urllib import request
from bs4 import BeautifulSoup

# 网页
url = "https://iamarookie.blog.csdn.net/"

# 发送请求
response = request.urlopen(url)

# 获取内容
html_content = response.read().decode("utf-8")

# 生成soup
soup = BeautifulSoup(html_content)

# 解析博客名字
blog_name = soup.find("div", attrs={"class":"user-profile-head-name"}).text
print("博客名字:\n", blog_name)

# 解析博客签名
blog_signature = soup.find("div", attrs={"class":"user-profile-head-introduction"}).text
print("博客签名:\n", blog_signature.strip())

输出结果:

博客名字:
我是小白呀 码龄2年
博客签名:
吾本布衣, 出自纽约, 四周大山. 箪瓢屡空, 环堵萧然, 不弊风日. 吾好读书, 滴水石穿, 笨鸟先飞, 求知不断, 方能立足. 不羡孔北海之座上客常满, 但求吾辈架上书常在. 涸辙遗鲋, 暮成枯, 人而无志, 与彼何殊. Self-study Computer Science. 愿为 open source 自效微力. 天高地阔,欲往观之. 因为啥也不会, 默默做一只小白

在这里插入图片描述

到此这篇关于Python 数据分析之Beautiful Soup 提取页面信息的文章就介绍到这了,更多相关Python Beautiful Soup内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python黑魔法之参数传递

    python黑魔法之参数传递

    这篇文章主要介绍了python黑魔法之参数传递,分析了python参数传递的方法,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 解决django.db.utils.IntegrityError:(1048, Column last_login cannot be null)

    解决django.db.utils.IntegrityError:(1048, Column las

    这篇文章主要介绍了解决django.db.utils.IntegrityError:(1048, Column last_login cannot be null)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • python holidays获取中国节日的示例

    python holidays获取中国节日的示例

    在Python中,holidays库是一个流行的库,用于处理各种国家和地区的公共假期,这篇文章主要介绍了python holidays获取中国节日,需要的朋友可以参考下
    2024-06-06
  • 使用python字典统计CSV数据的步骤和示例代码

    使用python字典统计CSV数据的步骤和示例代码

    为了使用Python字典来统计CSV数据,我们可以使用内置的csv模块来读取CSV文件,并使用字典来存储统计信息,以下是一个详细的步骤和完整的代码示例,需要的朋友可以参考下
    2024-12-12
  • 关于Python代码混淆和加密技术

    关于Python代码混淆和加密技术

    这篇文章主要介绍了关于Python代码混淆和加密技术,Python进行商业开发时, 需要有一定的安全意识, 为了不被轻易的逆向还原,混淆和加密就有所必要了,需要的朋友可以参考下
    2023-07-07
  • python接口自动化框架实战

    python接口自动化框架实战

    这篇文章主要介绍了python接口自动化框架实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例

    Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例

    这篇文章主要介绍了Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例,需要的朋友可以参考下
    2020-03-03
  • django缓存配置的几种方法详解

    django缓存配置的几种方法详解

    缓存对各位学习或者使用django的朋友们来说应该都不陌生,下面这篇文章主要给大家介绍了关于django缓存配置的几种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-07-07
  • 15个Python运行速度优化技巧分享

    15个Python运行速度优化技巧分享

    这篇文章主要为大家详细介绍了15个Python运行速度优化技巧,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2025-02-02
  • Pytorch使用卷积神经网络对CIFAR10图片进行分类方式

    Pytorch使用卷积神经网络对CIFAR10图片进行分类方式

    这篇文章主要介绍了Pytorch使用卷积神经网络对CIFAR10图片进行分类方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论