BeautifulSoup之select find和find_all
阿新 • • 發佈:2018-02-05
log clas pan soup body 全部 字符 pytho mit
select find和find_all有什麽區別呢,請看代碼:
from bs4 import BeautifulSoup html =‘‘‘<head>hello python</head> <body> <div class=‘ming‘> <div class=‘lily‘ id=‘ben‘>趙麗麗是個大笨蛋</div> <div class=‘lily‘ id=‘ben‘>趙麗麗是個大笨蛋嗎?</div> <a href = ‘www.mingmig.com‘>我的網址</a> <a href = ‘www.mingmig.com‘>我的網址</a> </div> </body>‘‘‘ soup = BeautifulSoup(html, ‘lxml‘) s = soup.select(‘div .lily‘)#select的寫法和find有區別,select是標簽和class都在一個字符串裏,find是兩個字符串,用逗號隔開 f = soup.find(‘div‘,class_ = ‘lily‘) #find只取第一個值,返回的是字符串 fa = soup.find_all(‘div‘,class_ = ‘lily‘)#find——all是全部的值和select一樣,是一個列表 fal = soup.find_all(‘div‘,class_ = ‘lily‘,limit=1)#find——all是全部的值和select一樣,是一個列表,加limit屬性後只返回第一個 print(s) print(f) print(fa) print(fal)
>>>
[<div class="lily" id="ben">趙麗麗是個大笨蛋</div>, <div class="lily" id="ben">趙麗麗是個大笨蛋嗎?</div>] <div class="lily" id="ben">趙麗麗是個大笨蛋</div> [<div class="lily" id="ben">趙麗麗是個大笨蛋</div>, <div class="lily" id="ben">趙麗麗是個大笨蛋嗎?</div>] [<div class="lily" id="ben">趙麗麗是個大笨蛋</div>]
BeautifulSoup之select find和find_all