91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么安裝和使用Python第三方模塊beautifulsoup

發布時間:2020-08-25 15:57:02 來源:億速云 閱讀:188 作者:Leah 欄目:編程語言

怎么安裝和使用Python第三方模塊beautifulsoup?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

beautiful soup是Python的一個HTML或XML的解析庫。它提供一個簡單的、Python式的函數來處理導航、搜索、修改分析數等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程序。

beautiful soup自動將輸入文檔轉化為Unicode編碼,輸出文檔轉化為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個編碼方式,這時你僅僅需要說明一下原始的編碼方式就可以了。

安裝

windows下:

首先進入pip的安裝目錄,位于Scripts文件夾中

怎么安裝和使用Python第三方模塊beautifulsoup

然后執行:

pip install beautifulsoup4

怎么安裝和使用Python第三方模塊beautifulsoup

Linux下:

$ sudo apt-get python-bs4(python2)
$ sudo apt-get python3-bs4(python3)

Beautiful Soup常用的方法和屬性

1.find_all() 方法:find_all()方法搜索當前tag的所有符合過濾條件的tag子節點。在搜索子節點的時候,我們不僅可以制定要搜索的子節點的標簽名,還可以添加過濾條件,更精確的選擇我們需要的子節點。

2.find() 方法:find()方法和find_all()方法的參數和用法幾乎一樣,只不過find()方法只選取符合條件的第一個標簽。

3.get_text()方法:如果只想得到tag中包含的文本內容,那么可以使用get_text()方法,這個方法獲取到tag中包含的所有文版內容包括子孫tag中的內容,并將結果作為Unicode字符串返回。

4.獲取節點屬性的方法:如果我們想要獲取節點的屬性,比如對于<a href="www.baidu.com"></a>,我們想獲取它的href屬性值,即www.baidu.com。

5.select()方法:通過使用beautifulsoup庫中的select()方法,我們可以使用CSS選擇器來選擇我們需要的標簽。也就是說,我們可以通過標簽名,標簽的class、標簽的id,通過標簽的name、href等屬性來選擇我們的元素。使用該方法返回的是一個迭代器,我們可以通過for…in…循環遍歷。

6.string屬性:如果一個節點只包含一個文本節點,或者是只包含一個節點,那么可以使用該屬性獲取該文本節點的文本內容,或者是這個節點的文本內容。例如:對于<div>hahaha</div>和<div><p>hahaha</p></div>,使用返回的結果是一樣的。

7.strings屬性:如果一個節點下面有很多子孫節點,我們可以使用strings屬性來獲取其子孫節點的所有文本。該屬性最終返回的是一個迭代器,我們可以通過for…in…循環來遍歷。

8.stripped_strings屬性:在使用上述strings屬性獲取一個節點中后代文本的時候,可能或出現換行和空格等空白文本,這樣在處理的時候會出現麻煩,如果不想獲取換行和空格,那么我們可以使用stripped_strings屬性。該屬性和strings屬性一樣,返回的也是迭代器,不能直接打印,需要使用for…in…循環來遍歷。

9.contents屬性:該屬性返回的是某個節點下的全部子元素,包括子元素的標簽名和文本內容。返回的數據類型是列表。

10.children屬性:該屬性和contents屬性的用法是一樣的,但是返回的數據類型是迭代器。

Beautiful Soup4中四中常見的對象

1.Tag對象:Beautiful Soup中所有的標簽都是Tag類型,并且通過bs = BeautifulSoup(html_str, 'lxml')方法常見的bs對象在本質上也是Tag類型。我們我們前面說到的find_all()、find()等方法,也都是Tag對象的方法。

2.BeautifulSoup對象:通過bs = BeautifulSoup(html_str, ‘lxml’)方法常見的bs是BeautifulSoup對象,BeautifulSoup繼承自Tag對象。所以我們之前說bs在本質上是Tag類型,而且BeautifulSoup對象的find_all()、find()也是繼承自Tag對象的。

3.NavigableString對象:該對象繼承自Python中的str對象,用起來和str一樣,沒什么說的。

4.Comment對象:這個對象繼承自NavigableString對象,也沒什么說的。

總結:

·推薦使用lxml,必要時使用lxml.parser;

·節點選擇篩選功能弱,但速度塊;

·建議使用find();find_all()查詢單個或者多個結果;

·css選擇器也是個不錯的選擇。

關于怎么安裝和使用Python第三方模塊beautifulsoup問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汨罗市| 清镇市| 鹰潭市| 武夷山市| 武川县| 黄山市| 志丹县| 和田县| 伽师县| 射洪县| 安丘市| 柳江县| 扶余县| 静乐县| 萨嘎县| 抚州市| 白河县| 盖州市| 自治县| 福安市| 六盘水市| 磐安县| 文昌市| 论坛| 于都县| 万安县| 崇左市| 合水县| 五峰| 石嘴山市| 梨树县| 宣恩县| 江津市| 邹平县| 徐州市| 杭州市| 敦化市| 法库县| 新宾| 雷州市| 淅川县|