堡壘機 Jumpserver 的自動部署
阿新 • • 發佈:2021-06-16
bs4是什麼?
- 它的作用是能夠快速方便簡單的提取網頁中指定的內容,給我一個網頁字串,然後使用它的介面將網頁字串生成一個物件,然後通過這個物件的方法來提取資料
安裝
pip install bs4
BS4的4中物件
- Tag物件:是html中的一個標籤,用BeautifulSoup就能解析出來Tag的具體內容,具體的格式為‘soup.name‘,其中name是html下的標籤。
- BeautifulSoup物件:整個html文字物件,可當作Tag物件
- NavigableString物件:標籤內的文字物件
- Comment物件:是一個特殊的NavigableString物件,如果html標籤記憶體在註釋,那麼它可以過濾掉註釋符號保留註釋文字最常用的還是BeautifulSoup物件和Tag物件
BeautifulSoup物件
from bs4 import BeautifulSoup import requests res = request.get('http://www.baidu.com') response=res.text() soup = BeautifulSoup(response.text,'html.parser') return soup.find(name='title')
bs4語法學習
- 通過本地檔案進行學習,通過網路進行寫程式碼
(1)根據標籤名進行獲取節點
只能找到第一個符合要求的節點
(2)獲取文字內容和屬性 - 屬性
soup.a.attrs 返回一字典,裡面是所有屬性和值
soup.a['href'] 獲取href屬性
- 文字
soup.a.string
soup.a.text
soup.a.get_text()
【注】當標籤裡面還有標籤的時候,string獲取的為None,其他兩個獲取純文字內容
(3)find方法
soup.find('a')
soup.find('a', class_='xxx')
soup.find('a', title='xxx')
soup.find('a', id='xxx')
soup.find('a', id=re.compile(r'xxx'))
【注】find只能找到符合要求的第一個標籤,他返回的是一個物件
(4)find_all
返回一個列表,列表裡面是所有的符合要求的物件
soup.find_all('a')
soup.find_all('a', class_='wang')
soup.find_all('a', id=re.compile(r'xxx'))
soup.find_all('a', limit=2) 提取出前兩個符合要求的a
(5)select
選擇,選擇器 css中
常用的選擇器
標籤選擇器、id選擇器、類選擇器
層級選擇器**
div h1 a 後面的是前面的子節點即可
div > h1 > a 後面的必須是前面的直接子節點
屬性選擇器
input[name='hehe']
select('選擇器的')
【注】返回的是一個列表,列表裡面都是物件
【注】find find_all select不僅適用於soup物件,還適用於其他的子物件,如果呼叫子物件的select方法,那麼就是從這個子物件裡面去找符合這個選擇器的標籤
lxml是什麼?
- lxml是一個解析器,也是下面的xpath要用到的庫,bs4將網頁字串生成物件的時候需要用到解析器,就用lxml,或者使用官方自帶的解析器 html.parser
pip install lxml