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

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网

概述

数据分析 (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内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!

【原URL http://www.yidunidc.com/jap.html 请说明出处】