【資料分析】??走進資料分析 3?? Beautiful Soup 提取頁面資訊
- 概述
- 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 自效微力. 天高地闊,欲往觀之. 因為啥也不會, 默默做一只小白

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/321249.html
標籤:python
