Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息
概述
數(shù)據(jù)分析 (Data Analyze) 可以在工作中的各個(gè)方面幫助我們. 本專欄為量化交易專欄下的子專欄, 主要講解一些數(shù)據(jù)分析的基礎(chǔ)知識(shí).
Beautiful Soup
Beautiful 是一個(gè)可以從 HTML 或 XML 文件中提取數(shù)據(jù)的 Pyhton 庫. 簡(jiǎn)單來說, 它能將 HTML 的標(biāo)簽文件解析成樹形結(jié)構(gòu), 然后方便的獲取到指定標(biāo)簽的對(duì)應(yīng)屬性.
安裝:
pip install beautifulsoup4
例子:
from bs4 import BeautifulSoup # 創(chuàng)建一段HTML代碼 html_content = """ <html> <head> <title>我是小白呀的博客</title> </head> <body> <p class="redColor">個(gè)人介紹</p> </body> </html> """ # 生成soup soup = BeautifulSoup(html_content, "html.parser") # 調(diào)試輸出 print(soup.title) # 標(biāo)題 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)
輸出結(jié)果:
<title>我是小白呀的博客</title>
name: title
<head>
<title>我是小白呀的博客</title>
</head>
name: head
<p class="redColor">個(gè)人介紹</p>
name: p
class: {'class': ['redColor']}
class: ['redColor']
提取頁面信息
例子:
from urllib import request from bs4 import BeautifulSoup # 網(wǎng)頁 url = "https://iamarookie.blog.csdn.net/" # 發(fā)送請(qǐng)求 response = request.urlopen(url) # 獲取內(nèi)容 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())
輸出結(jié)果:
博客名字:
我是小白呀 碼齡2年
博客簽名:
吾本布衣, 出自紐約, 四周大山. 簞瓢屢空, 環(huán)堵蕭然, 不弊風(fēng)日. 吾好讀書, 滴水石穿, 笨鳥先飛, 求知不斷, 方能立足. 不羨孔北海之座上客常滿, 但求吾輩架上書常在. 涸轍遺鮒, 暮成枯, 人而無志, 與彼何殊. Self-study Computer Science. 愿為 open source 自效微力. 天高地闊,欲往觀之. 因?yàn)樯兑膊粫?huì), 默默做一只小白
到此這篇關(guān)于Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息的文章就介紹到這了,更多相關(guān)Python Beautiful Soup內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pygame實(shí)現(xiàn)落球游戲詳解
本文主要介紹了利用Pygame實(shí)現(xiàn)落球小游戲,即屏幕上落下一個(gè)球,通過鼠標(biāo)移動(dòng),地下的木塊如果接上則加分,否則就減去一命,三條命用完則游戲結(jié)束。感興趣的可以學(xué)習(xí)2022-01-01Python中文糾錯(cuò)的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要是用 Python 實(shí)現(xiàn)了簡(jiǎn)單的中文分詞的同音字糾錯(cuò),目前的案例中只允許錯(cuò)一個(gè)字,感興趣的小伙伴們可以參考一下2021-07-07基于OpenCV實(shí)現(xiàn)視頻循環(huán)播放
這篇文章主要為大家介紹了如何利用OpenCV實(shí)現(xiàn)視頻的循環(huán)播放,本文為大家提供了兩種方式,一個(gè)是利用Python語言實(shí)現(xiàn),一個(gè)是利用C++語言實(shí)現(xiàn),需要的可以參考一下2022-02-02Python 中如何使用 setLevel() 設(shè)置日志級(jí)別
這篇文章主要介紹了在 Python 中使用setLevel() 設(shè)置日志級(jí)別,Python 提供了一個(gè)單獨(dú)的日志記錄模塊作為其標(biāo)準(zhǔn)庫的一部分,以簡(jiǎn)化日志記錄,本文將討論日志記錄 setLevel 及其在 Python 中的工作方式,需要的朋友可以參考下2023-07-07Python request設(shè)置HTTPS代理代碼解析
這篇文章主要介紹了Python request設(shè)置HTTPS代理代碼解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02PyMongo 查詢數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了PyMongo 查詢數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Python?seaborn數(shù)據(jù)可視化繪圖(直方圖,密度圖,散點(diǎn)圖)
這篇文章主要介紹了Python?seaborn數(shù)據(jù)可視化繪圖(直方圖,密度圖,散點(diǎn)圖),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07python 插入Null值數(shù)據(jù)到Postgresql的操作
這篇文章主要介紹了python 插入Null值數(shù)據(jù)到Postgresql的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03