1. 程式人生 > >BeautifulSoup之select find和find_all

BeautifulSoup之select find和find_all

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