BeautifulSoup之select find和find_all

Posted pyming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup之select find和find_all相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

爬虫:BeautifulSoup--select

读BeautifulSoup官方文档之html树的搜索

读BeautifulSoup官方文档之html树的搜索

BeautifulSoup 之 select 总结---1205

Beautifulsoup-基础知识

Python3 爬虫U11_BeautifulSoup4之select和CCS选择器提取元素