国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲入門教程--HTML文本的解析庫BeautifulSoup(四)

2020-02-16 01:35:59
字體:
來源:轉載
供稿:網友

前言

python爬蟲系列文章的第3篇介紹了網絡請求庫神器 Requests ,請求把數據返回來之后就要提取目標數據,不同的網站返回的內容通常有多種不同的格式,一種是 json 格式,這類數據對開發者來說最友好。另一種 XML 格式的,還有一種最常見格式的是 HTML 文檔,今天就來講講如何從 HTML 中提取出感興趣的數據

自己寫個 HTML 解析器來解析嗎?還是用正則表達式?這些都不是最好的辦法,好在,Python 社區在這方便早就有了很成熟的方案,BeautifulSoup 就是這一類問題的克星,它專注于 HTML 文檔操作,名字來源于 Lewis Carroll 的一首同名詩歌。

BeautifulSoup 是一個用于解析 HTML 文檔的 Python 庫,通過 BeautifulSoup,你只需要用很少的代碼就可以提取出 HTML 中任何感興趣的內容,此外,它還有一定的 HTML 容錯能力,對于一個格式不完整的HTML 文檔,它也可以正確處理。

安裝 BeautifulSoup

pip install beautifulsoup4

BeautifulSoup3 被官方放棄維護,你要下載最新的版本 BeautifulSoup4。

HTML 標簽

學習 BeautifulSoup4 前有必要先對 HTML 文檔有一個基本認識,如下代碼,HTML 是一個樹形組織結構。

<html>  <head>  <title>hello, world</title> </head> <body>  <h1>BeautifulSoup</h1>  <p>如何使用BeautifulSoup</p> <body></html> 
它由很多標簽(Tag)組成,比如 html、head、title等等都是標簽 一個標簽對構成一個節點,比如 ... 是一個根節點 節點之間存在某種關系,比如 h1 和 p 互為鄰居,他們是相鄰的兄弟(sibling)節點 h1 是 body 的直接子(children)節點,還是 html 的子孫(descendants)節點 body 是 p 的父(parent)節點,html 是 p 的祖輩(parents)節點 嵌套在標簽之間的字符串是該節點下的一個特殊子節點,比如 “hello, world” 也是一個節點,只不過沒名字。

使用 BeautifulSoup

構建一個 BeautifulSoup 對象需要兩個參數,第一個參數是將要解析的 HTML 文本字符串,第二個參數告訴 BeautifulSoup 使用哪個解析器來解析 HTML。

解析器負責把 HTML 解析成相關的對象,而 BeautifulSoup 負責操作數據(增刪改查)。”html.parser” 是Python內置的解析器,”lxml” 則是一個基于c語言開發的解析器,它的執行速度更快,不過它需要額外安裝

通過 BeautifulSoup 對象就可以定位到 HTML 中的任何一個標簽節點。

from bs4 import BeautifulSoup text = """<html>  <head>  <title >hello, world</title> </head> <body>  <h1>BeautifulSoup</h1>  <p class="bold">如何使用BeautifulSoup</p>  <p class="big" id="key1"> 第二個p標簽</p>  <a  rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >python</a> </body></html> """soup = BeautifulSoup(text, "html.parser")# title 標簽>>> soup.title<title>hello, world</title># p 標簽>>> soup.p<p class="bold">/u5982/u4f55/u4f7f/u7528BeautifulSoup</p># p 標簽的內容>>> soup.p.stringu'/u5982/u4f55/u4f7f/u7528BeautifulSoup'            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛川县| 汉中市| 应城市| 牙克石市| 岳阳县| 衡山县| 清涧县| 定陶县| 深州市| 枣阳市| 海宁市| 高雄县| 科技| 玉林市| 丰都县| 黄石市| 兖州市| 昭苏县| 邯郸市| 乃东县| 吉水县| 丰城市| 巨鹿县| 正定县| 兴义市| 贡嘎县| 海宁市| 平度市| 海丰县| 弥勒县| 搜索| 阿拉善右旗| 驻马店市| 承德县| 卓资县| 琼结县| 建昌县| 明星| 宝丰县| 松滋市| 阳原县|