一.Beautiful Soup的安裝與測試html
官方網站:https://www.crummy.com/software/BeautifulSoup/node
Beautiful Soup安裝與使用文檔: https://www.crummy.com/software/BeautifulSoup/bs4/doc/python
1.首先測試一下bs4模塊是否已經存在,若不存在再安裝便可,我用的是kali測試發現bs4模塊已經存在,下面介紹如何測試與安裝正則表達式
新建python文檔輸入如下代碼測試
1 import bs4 2 print bs4
顯示一下結果即說明bs4模塊已經存在,其餘狀況則須要安裝網站
安裝代碼以下編碼
1 sudo apt-get install python-pip2 3 sudo pip install beautifulsoup4
以後再進行測試便可spa
就會顯示出來這時就說明 Beautiful Soup3d
安裝已經完成code
2、Beautiful Soup的語法
find_all:搜索出知足要求的全部節點
find:搜索出知足要求的第一個節點
兩者的參數是同樣的
2.按照節點名稱、屬性值、文字進行的搜索
3.建立Beautiful Soup對象相應的代碼
1 from bs4 import BeautifulSoup 2 3 #根據HTML網頁字符串建立BreautifulSoup對象 4 soup = BeautifulSoup( 5 html_doc, #HTML文檔字符串 6 'html.parser' #HTML解析器 7 from_encoding='utf-8' #HTML文檔的編碼 8 )
4.搜索節點(find_all,find)
find_all(name節點名稱,attrs節點屬性,string節點文字)
1 # 方法:find_all(name,attrs,string) 2 3 #查找全部標籤爲a的節點 4 soup.find_all('a') 5 6 #查找全部標籤爲a,連接符合/view/123.html形式的節點 7 soup.find_all('a',href='/view/123.html') 8 soup.find_all('a',href=re.compile(r'/view/\d+\.htm')) #bs中能夠在find方法中的名稱和屬性上使用正則表達式來匹配對應的內容 9 10 #查找全部標籤爲div,class爲abc,文字爲python的節點 11 soup.find_all('div',class_='abc',string='python')
5.獲得節點後訪問節點信息
1 #假如獲得節點:<a href='1.html'>python</a> 2 3 #獲取查找到的a節點的href屬性 4 node.name 5 6 #獲取查找到的a節點的href屬性,以字典的形式訪問到a節點全部的屬性 7 node['href'] 8 9 #獲取查找到的a節點的連接文字
10 node.get_text()
經過以上建立bs4對象,搜索DOM樹,訪問節點的內容,就能夠實現對整個下載好的網頁
全部節點的解析和訪問。下一篇博文將給一個完整的示例代碼