【数据分析】??走进数据分析 3?? 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("博客名字:\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 自效微力. 天高地阔,欲往观之. 因为啥也不会, 默默做一只小白
|