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

概述

数据分析 (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("博客名字:
", blog_name)

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

输出结果:

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

在这里插入图片描述

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