亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python 如何使用find和find_all爬蟲、找文本的實現

瀏覽:2日期:2022-07-08 10:20:11

這篇文章我們來講講如何在python使用bs4模塊返回值中正確使用find和find_all來取值。

我們先來看看find函數在兩種場景使用: 一、 find在字符串(str)時可以查找使用。

在字符串(str)是怎么來使用find函數,find函數就是找到的意思。

我們來看看下面案例

#---------案例1-----------a=’0123456789’#因為我們電腦中的字節都是從0開始算第一個位置b=a.find(’0’)#這行代碼的意思就是我要查找a中0的位置print(b)

>>0

#這里就是打印出來的內容

應為0在a中的第0個位置

在來試試第二個案例

#---------案例2-----------a=’0123456789’ b=a.find(’5’)#我要查找a中5的位置print(b)

>>5

其中你要查找的內容不在a中,則會返回 -1 。在str中的使用方法說到這里。

二、 find在bs4模塊返回值中怎么使用

我們在課堂上學過,bs4返回的值是 <class ’bs4.BeautifulSoup’>

假設我把把bs4返回的值賦值給 bs

這時我們就要用 bs.find(class_=‘one’)

這個代碼就是在bs值中從上往下找,找到第一個類等于one的值。

如果下圖

python 如何使用find和find_all爬蟲、找文本的實現

從上到下找是不是我標出來藍色區域是我要找的類,對的我們把他賦值給one,我們把他打印出來

print(’one’)

這時候系統就會返回這樣一個值給我們,如下圖

python 如何使用find和find_all爬蟲、找文本的實現

大家看,他返回的是從 class=’one’開始到這個類標簽ul結束,對的,他不會返回其他值,他只會返回這個類的標簽開始到結束。

所以當bs4返回值時,第一步使用find找打包含自己要找的所有值中第一個父類,再賦值給函數,這樣這個函數就是我們進行下一步查找的對象。

接下倆我們就還可以使用find(找到)或者find_all(找到全部一樣的),來定位函數位置,像圖中:

python 如何使用find和find_all爬蟲、找文本的實現

class='navbar-branding'就只有一個,我們像打印出 開發者的網上家園 怎么寫

這時候我們假設,上面bs.find(class_=’one’)賦值給one函數那么我們就從one開始查找one.find(class='navbar-branding')這樣查找出來的內哦讓那個就會返回給我們這個區域內容

python 如何使用find和find_all爬蟲、找文本的實現

然后這個區域的文字再title值里面,我們就沒辦法直接用 .text 取值了,所以我們要接著查找

將one.find(class='navbar-branding')賦值給 one_1

然后用 one_1.find(’a’)來查找到a標簽

后面加一個中括號取值[‘title’]這樣打印出來內容就是“開發者的網上家園”了。

連起來就是這樣寫

print(one_1.find(’a’) [’title’])

下面我們把代碼連起來打一遍看圖

python 如何使用find和find_all爬蟲、找文本的實現

看代碼

one=bs.find(class_=’one’)one_1=one.find(class='navbar-branding')print(one_1.find(’a’) [’title’])>>開發者的網上家園#這就是最后返回的值

就這么簡單。

三、 find_all在bs4模塊返回值中怎么使用

還是用上圖舉例

python 如何使用find和find_all爬蟲、找文本的實現

我們可以看到如果我要取下面的 li 標簽中的值怎么辦

這時候我們就得用到find_al了(查找全部一樣的)

先補充代碼到這個li標簽的父類

one=bs.find(class_=’one’)one_1=one.find(class='navbar-branding')

然后我們用one_1來取值如下代碼

one_1.find_all(’li’)#這時候我們取值了再one_1區域中所有有li便簽的內容

他會返回給我們一個列表

列表時這樣的

<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>

每一個區域就是一個內容,中間的。。。我時為了圖省事,其實都是內容。

竟然得到這樣的一個列表我們就可以使用for I in one_1.find_all(’li’)

這樣取遍歷出這個列表的東西,然后取值,

或者我只要其中一個就是ne_1.find_all(’li’)[2] 后面加一個數字,

列表取值大家應該都會把,這樣就可以定位到我們想要的東西了。

總結一下find就是查找某一項的第一個數據,find_all就是找所有數據,然后用for遍歷就能取出

到此這篇關于python 如何使用find和find_all爬蟲、找文本的實現的文章就介紹到這了,更多相關python find和find_all爬蟲 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 久爱青草视频在线观看 | 黄色短片免费看 | 欧美日韩国产高清 | 97视频在线观看免费 | 毛片96视频免费观看 | 印度xxxxbbbb视频 | 亚洲aⅴ在线 | 国产美女主播一级成人毛片 | 亚洲欧洲日产国码天堂 | 免费视频网站在线观看黄 | 美国一级大黄一片免费的网站 | 亚洲精品九色在线网站 | 国产毛片在线 | 中文字幕免费在线视频 | 国自产精品手机在线视频香蕉 | 在线高清视频观看vvvv | 国产精品综合一区二区三区 | 国产97色在线 | 亚洲 | 久久青青热 | 国产福利91精品一区二区三区 | 成人做爰全过程免费的叫床看视频 | 国产精品久久久久久爽爽爽 | 国产伦理一区二区三区 | 春色视频一区二区三区 | 成年女美黄网站大全免费播放 | 欧美yw193.c㎝在线观看 | 亚洲加勒比久久88色综合 | 日韩精品免费一级视频 | 亚洲麻豆精品果冻传媒 | qvod高清在线成人观看 | 1000部啪啪未满十八勿入中国 | 伊人久久久久久久久久 | 国语自产自拍秒拍在线视频 | 91视频h| 九九免费观看全部免费视频 | 亚洲黄色在线视频 | 久久99国产亚洲高清 | 大尺度人体自拍私拍337p | 在线观看香蕉免费啪在线观看 | 久久久久欧美精品网站 | 三级毛片免费 |