您好,登錄后才能下訂單哦!
怎么安裝和使用Python第三方模塊beautifulsoup?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
beautiful soup是Python的一個HTML或XML的解析庫。它提供一個簡單的、Python式的函數來處理導航、搜索、修改分析數等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程序。
beautiful soup自動將輸入文檔轉化為Unicode編碼,輸出文檔轉化為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個編碼方式,這時你僅僅需要說明一下原始的編碼方式就可以了。
安裝
windows下:
首先進入pip的安裝目錄,位于Scripts文件夾中
然后執行:
pip install beautifulsoup4
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問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。