如何用python爬取數(shù)據(jù)
1、find_all()的爬取
find_all():提取所有符合要求的數(shù)據(jù),搜索當(dāng)前tag的所有tag子節(jié)點(diǎn),并判斷是否符合過濾器的條件。
2、用法
bs對象.find_all(標(biāo)簽,屬性)
3、注意
bs對象、標(biāo)簽和屬性使用都與find()一致。但是,從find_all()中提取的數(shù)據(jù)類型與find()是不同的。通過find()方法提取的數(shù)據(jù)類型通常是Tag,而通過find_all提取的數(shù)據(jù)類型通常是ResultSet。碰到了Tag類型的數(shù)據(jù),我們可以通過Tag.text()來進(jìn)一步提取純文本格式的內(nèi)容,通過Tag['PropertyName']來提取特定屬性的值。當(dāng)遇到了ResultSet類型的數(shù)據(jù)時(shí),我就會想辦法通過遍歷進(jìn)一步提取所有符合條件的數(shù)據(jù)。
4、實(shí)例
#最靈活的使用方式
li_quick=soup.find_all(attrs={'class':'item-1'})
forli_quickinli_quick:
print('最靈活的查找方法:',li_quick)
以上就是用python爬取數(shù)據(jù)的方法,在之前我們已經(jīng)對find方法有所學(xué)習(xí),那么本篇find_all()也是比較簡單和快速的爬取方法之一。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。