今天是Andy學Python的第56 天哦!
大家好,我是Andy。
01.
Beautiful Soup介紹
首先看官方文檔是這樣介紹的:
Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式。Beautiful Soup會幫你節省數小時甚至數天的工作時間。
Beautiful Soup 3 目前已經停止開發,我們推薦在現在的項目中使用Beautiful Soup 4, 移植到BS4。
Beautiful Soup提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔爲用戶提供需要抓取的數據,因爲簡單,所以不需要多少代碼就可以寫出一個完整的應用程序。Beautiful Soup自動將輸入文檔轉換爲Unicode編碼,輸出文檔轉換爲utf-8編碼。
02.
安裝
安裝Anaconda成開發環境時,己經安裝了Beautifulsoup組件,直接導入就可以使用。
03.
Beautiful Soup屬性和方法
3.1常用屬性方法彙總
title:返回網頁標題。
text: 返回去除所有HTML標籤後的網頁內容。
find():返回第一個符合條件的標籤。
find_all():返回所有符合條件的標籤。
select():返回指定CSS樣式(如id或class)的內容,詳細見下。
3.2 find()與find_all()方法
find()方法會返回第一個符合條件的標籤,找到後會返回一個字符串:找不到則返回None。
find_all()方法則會返回所有符合條件的標籤,找到後會傳回一個列表;找不到返回空的列表。
3.3 select()方法
soup.select('div'):返回所有名爲<div>的元素。
soup.select('#id'):返回帶有 id 屬性的元素。
soup.select('.classname'):返回所有使用 CSS class 屬性名爲 classname 的元素。
soup.select('div span'):返回所有在<div>元素之內的<span>元素。
soup.select('div > span'):返回所有直接在<div>元素之內的<span>元素,中間沒有其他元素。
soup.select('input[name]'):返回所有名爲<input>,並有一個 name 屬性,其值無所謂的元素。
soup.select('input[type="bush"]'):返回所有名爲<input>,並有一個 type 屬性,其值爲bush 的元素。
51Day Day up!
向上向善,日進一步!
每天學習,努力成長!
定個小目標,開啓成長的旅程,遇見更好的自己。
這是我們和自己的約定,許諾自己不負韶華。
路雖遠,行則將至;事雖難,做則必成。
成長的最好時機,就是當下。